ПредишенСледващото

Речник общ клас осигурява картиране на ключовете в зададените стойности. Всеки елемент се добавя към речника, и се състои от ценности, свързани с тях ключ. Извличането на стойността на ключовата му се случва много бързо, със скорост, близка до O (1), тъй като речник клас се осъществява във вид на таблица хашиш.

Докато обектът се използва като ключов в речник речник. тя не трябва да бъде променен, така че да се отразява в неговата хеш код. Всеки ключ в речник трябва да е уникално според речника на сравнителен се проверява за равенство. Ключът не може да бъде оставено празно (нула), а стойността може, ако тип TValue стойност е препратка тип.

Речник изисква прилагането на теста за равенство, която ще определи дали съответстват на ключовете. Можете да зададете изпълнение IEqualityComparer родово интерфейс. използване на конструктор, която се параметър Comparer; ако не е посочено изпълнението, по подразбиране универсален сравнение, който проверява за равенство (EqualityComparer .Default). Ако TKey тип изпълнява универсалната System.IEquatable интерфейс. сравнителен по подразбиране, тестване за равенство, използвайки тази реализация.

Речник колекция Капацитет - броя на елементите, които могат да се настанят речник. При добавяне на елементи към колекция речник нейния капацитет се увеличава автоматично, както се изисква чрез преразпределяне на вътрешния масив.

За много големи обекти речник. Максималният капацитет може да бъде увеличена до 2 милиарда елементи 64-битова система, настройка на атрибутите активиран gcAllowVeryLargeObjects конфигурация елемент да е вярно по време на работа на.

За foreach оператор C # език (за всяка от C ++, за всеки в Visual Basic) е необходимо да се определи видът на всеки елемент в колекцията. Както Речника е набор от ключове и стойности тук тип елемент - не е от вида на ключ и стойност тип. Тези елементи принадлежат към вида KeyValuePair. представляваща вида на чифт ключ и стойност тип. Например:

Отчетът за foreach е обвивка около Enumerator, което позволява само четене от колекцията, но не го регистрира.

Следният пример код създава празен редове обект речник с низови ключове и добавяне на метод се използва за добавяне на няколко елемента. Както можете да видите, Добавете начин хвърля ArgumentException при опита за добавяне на дубликат ключ.

В примера се използва за извличане на стойности т собственост (на Indexer в C #); при липса на исканата ключ, издаден KeyNotFoundException изключение, стойността, свързана с ключ, може да бъде заменен.

Примерът илюстрира използването TryGetValue метода като по-ефективен начин за извличане на стойностите в една програма, често се опитват да използват ключови ценности, които не присъстват в речника, а също демонстрира метода на използване ContainsKey за проверка на наличието на ключа преди да се обадите Добавяне.

В заключение, в извадката, метода Премахни.

Информация за версията

NET Framework се поддържат на: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0 .NET Framework (Client Profile) Поддържа се на: 4, 3.5 Service Pack 1 (SP1) Portable Class Library Поддържана в: : преносими приложения клас библиотека .NET за Windows Store Поддържани в: Windows 8 .NET приложения за Windows Phone Поддържани в: Windows Phone 8, Silverlight 8.1

За повече информация относно речник тук

Подкрепете проекта - споделете линка, благодаря!