Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C# 4.0 ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство - 2011Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 235

Автор Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚

ΠœΠ΅Ρ‚ΠΎΠ΄

ОписаниС

public virtual bool ContainsKey(object key)

public virtual bool ContainsValue(object value)

public virtual IDictionaryEnumerator GetEnumerator () public static Hashtable Synchronized(Hashtable table)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable содСрТится ΠΊΠ»ΡŽΡ‡ key, Π° ΠΈΠ½Π°Ρ‡Π΅ β€” логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

false

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable содСрТится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ value, Π° ΠΈΠ½Π°Ρ‡Π΅ β€” логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ для Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ Ρ‚ΠΈΠΏΠ° IDictionaryEnumerator Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ синхронизированный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° table

Π’ классС Hashtable доступны Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ свойства, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ‚Π΅Ρ… интСрфСйсах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ. Особая Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΄Π²ΡƒΠΌ свойствам, Keys ΠΈ Values, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ»ΠΈ значСния ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable. Π­Ρ‚ΠΈ свойства ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π² интСрфСйсС IDictionary ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

public virtual ICollection Keys { get; } public virtual ICollection Values { get; }

Π’ классС Hashtable Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ упорядочСнныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΈ поэтому ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ»ΠΈ значСния ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² классС Hashtable имССтся Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ΅ свойство EqualityComparer. А Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… свойства, hep ΠΈ comparer, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ.

ΠŸΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable Π² Ρ„ΠΎΡ€ΠΌΠ΅ структуры Ρ‚ΠΈΠΏΠ° DictionaryEntry, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго это дСлаСтся Π±Π΅Π· прямого Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° со стороны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ значСниями ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° Hashtable добавляСтся элСмСнт, Ρ‚ΠΎ для этой Ρ†Π΅Π»ΠΈ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Add (), ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

НуТно, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ сохранСниС порядка слСдования элСмСнтов Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Hashtable Π½Π΅ гарантируСтся. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ процСсс Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ оказываСтся, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для создания отсортированных Ρ‚Π°Π±Π»ΠΈΡ†.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ дСмонстрируСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ класса Hashtable.

// ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ класса Hashtable.

using System;

using System.Collections;

class HashtableDemo { static void Main() {

// Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Hashtable ht = new Hashtable ();

// Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

ht.Add("Π·Π΄Π°Π½ΠΈΠ΅", "ΠΆΠΈΠ»ΠΎΠ΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅");

ht.Add("Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Π°", "транспортноС срСдство");

ht.Add("ΠΊΠ½ΠΈΠ³Π°", "Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… слов");

ht.Add("яблоко", "ΡΡŠΠ΅Π΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠ»ΠΎΠ΄");

// Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСксатора, ht ["Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΡ€"] = "ΡΠ΅Π»ΡŒΡΠΊΠΎΡ…ΠΎΠ·ΡΠΉΡΡ‚Π²Π΅Π½Π½Π°Ρ машина";

// ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ICollection с = ht.Keys;

// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ для получСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, foreach(string str in с)

Console.WriteLine(str + ": " + ht[str]);

}

}

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ.

Π·Π΄Π°Π½ΠΈΠ΅: ΠΆΠΈΠ»ΠΎΠ΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³Π°: Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… слов Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΡ€: ΡΠ΅Π»ΡŒΡΠΊΠΎΡ…ΠΎΠ·ΡΠΉΡΡ‚Π²Π΅Π½Π½Π°Ρ машина Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Π°: транспортноС срСдство яблоко: ΡΡŠΠ΅Π΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠ»ΠΎΠ΄

Как слСдуСт ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ содСрТимоС Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ht. Π‘Π½Π°Ρ‡Π°Π»Π° Π±Ρ‹Π»Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° коллСкция ΠΊΠ»ΡŽΡ‡Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Keys. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π±Ρ‹Π» использован для индСксирования Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ht с Ρ†Π΅Π»ΡŒΡŽ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ. Напомним, Ρ‡Ρ‚ΠΎ Π² качСствС индСкса Π² Π΄Π°Π½Π½ΠΎΠΌ случаС использовался индСксатор, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² интСрфСйсС IDictionary ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² классС Hashtable.

Класс SortedList

Класс SortedList ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" хранятся Π² порядкС, отсортированном ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π’ классС SortedList Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ интСрфСйсы IDictionary, ICollection, IEnumerable ΠΈ ICloneable.

Π’ классС SortedList ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ нСсколько конструкторов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅.

public SortedList() public SortedList(IDictionary d) public SortedList(int initialCapacity) public SortedList(IComparer comparer)

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ конструкторС создаСтся пустая коллСкция, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ конструкторС создаСтся пустая коллСкция Ρ‚ΠΈΠΏΠ° SortedList, которая инициализируСтся элСмСнтами ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ d. Π•Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° количСству ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… элСмСнтов. Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ конструкторС создаСтся пустая коллСкция Ρ‚ΠΈΠΏΠ° SortedList, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ опрСдСляСт Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ, задаваСмая ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ initialCapacity. Π­Ρ‚Π° Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ соотвСтствуСт Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для хранСния элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. И Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ конструктора с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° сотпрагСг указываСтся способ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для сравнСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ списку. Π’ этой Ρ„ΠΎΡ€ΠΌΠ΅ создаСтся пустая коллСкция, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ.

ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов Π² список Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList увСличиваСтся автоматичСски ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ надобности. Π’Π°ΠΊ, Ссли тСкущая Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ, Ρ‚ΠΎ ΠΎΠ½Π° соотвСтствСнно увСличиваСтся. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ указания Смкости ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList ΠΏΡ€ΠΈ Π΅Π΅ создании Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² сниТСнии ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. РазумССтся, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ цСлСсообразно лишь Π² Ρ‚ΠΎΠΌ случаС, Ссли Π·Π°Ρ€Π°Π½Π΅Π΅ извСстно, сколько элСмСнтов трСбуСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΉ.

Π’ классС SortedList опрСдСляСтся ряд собствСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π² интСрфСйсах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ. НСкоторыС ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² этого класса пСрСчислСны Π² Ρ‚Π°Π±Π». 25.6. Π’Π°ΠΊ, Ссли трСбуСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, содСрТится Π»ΠΈ ΠΊΠ»ΡŽΡ‡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList, вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Contains Key (). А Ссли трСбуСтся Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, хранится Π»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList, вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ ContainsValue (). Для пСрСчислСния содСрТимого ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList слуТит ΠΌΠ΅Ρ‚ΠΎΠ΄ GetEnumerator (), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° IDict ionar yEnumerator. Напомним, Ρ‡Ρ‚ΠΎ IDictionaryEnumerator β€” это ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для пСрСчислСния содСрТимого ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅". И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, для получСния синхронизированной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ коллСкция Ρ‚ΠΈΠΏΠ° SortedList, вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Synchronized ().

Π’Π°Π±Π»ΠΈΡ†Π° 25.6. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² классС SortedList

ΠœΠ΅Ρ‚ΠΎΠ΄

ОписаниС

public virtual bool

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²

ContainsKey(object key)

Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList содСр

Тится ΠΊΠ»ΡŽΡ‡ key, Π° ΠΈΠ½Π°Ρ‡Π΅ β€” логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

false

ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π». 25.6

ΠœΠ΅Ρ‚ΠΎΠ΄

ОписаниС

public virtual bool

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²

ContainsValue(object value)

Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList со

дСрТится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ value, Π° ΠΈΠ½Π°Ρ‡Π΅ β€” логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false

public virtual object

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ индСксу

GetBylndex(int index)

index

public virtual

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ для Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊ

IDictionaryEnumerator

Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ Ρ‚ΠΈΠΏΠ°

GetEnumerator()

IDictionaryEnumerator

public virtual object

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ ΠΈΠ½

GetKey(int index)

дСксу index

public virtual IList

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° SortedList с клю

GetKeyList()

Ρ‡Π°ΠΌΠΈ, хранящимися Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList

public virtual IList

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° SortedList со Π·Π½Π°

GetValueList()

чСниями, хранящимися Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° SortedList

public virtual int