ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΎΠΊ Π΅ΠΌΠΊΠΎΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ. Π’Π°ΠΊ, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ Π΅ΠΌΠΊΠΎΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π²ΡΡΠ°Π΅ΡΡΡ, ΡΠΎ ΠΎΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΅ΠΌΠΊΠΎΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList ΠΏΡΠΈ Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ·Π΄Π΅ΡΠΆΠ΅ΠΊ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΅ΠΌΠΊΠΎΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π² Π½Π΅ΠΉ.
Π ΠΊΠ»Π°ΡΡΠ΅ SortedList ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ΅Ρ , ΡΡΠΎ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 25.6. Π’Π°ΠΊ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ ΠΊΠ»ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ContainsKey(). Π Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΡΠ½ΠΈΡΡ, Ρ ΡΠ°Π½ΠΈΡΡΡ Π»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ContainsValue(). ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList ΡΠ»ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ GetEnumerator(), Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° IDictionaryEnumerator. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ IDictionaryEnumerator β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅". Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° SortedList, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Synchronized().
Π’Π°Π±Π»ΠΈΡΠ° 25.6. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ SortedList
ΠΠ΅ΡΠΎΠ΄ - ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
public virtual bool ContainsKey(object key) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΊΠ»ΡΡ key, Π° ΠΈΠ½Π°ΡΠ΅ β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false
public virtual bool ContainsValue(object value) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ value, Π° ΠΈΠ½Π°ΡΠ΅ β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false
public virtual object GetBylndex(int index) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index
public virtual IDictionaryEnumerator GetEnumerator() - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π»Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ ΡΠΈΠΏΠ° IDictionaryEnumerator
public virtual object GetKey(int index) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index
public virtual IList GetKeyList() - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° SortedList Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, Ρ ΡΠ°Π½ΡΡΠΈΠΌΠΈΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList
public virtual IList GetValueList() - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° SortedList ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Ρ ΡΠ°Π½ΡΡΠΈΠΌΠΈΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList
public virtual int IndexOfKey(object key) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ»ΡΡΠ° key. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΊΠ»ΡΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1
public virtual int IndexOfValue(object value) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ value Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1
public virtual void SetBylndex(int index, object value) - Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index ΡΠ°Π²Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ value
public static SortedList Synchronized(SortedList list) - ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° list
public virtual void TrimToSize() - Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Capacity ΡΠ°Π²Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Count
ΠΠ»ΡΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ GetByIndex(), Π° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΠΌΠ΅ΡΠΎΠ΄ SetByIndex(). ΠΠ»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ GetKey(), Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΠΌΠ΅ΡΠΎΠ΄ GetKeyList(). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ GetValueList(). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠ»ΡΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ IndexOfKey(), Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΠΌΠ΅ΡΠΎΠ΄ IndexOfValue(). ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π² ΠΊΠ»Π°ΡΡΠ΅ SortedList ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionary ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ.
Π ΠΊΠ»Π°ΡΡΠ΅ SortedList Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ. ΠΠ°ΠΊ ΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ Hashtable, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΎΡΠΎΠ±Π°Ρ ΡΠΎΠ»Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π΄Π²ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ, Keys ΠΈ Values, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList. ΠΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionary ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
public virtual ICollection Keys { get; }
public virtual ICollection Values { get; }
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° Hashtable, ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SortedList Π² ΡΠΎΡΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° DictionaryEntry, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ»ΡΡΠ°ΠΌ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ SortedList.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° SortedList. ΠΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Hashtable, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ SortedList. ΠΠ»ΡΠ΄Ρ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ.
// ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° SortedList.
using System;
using System.Collections;
class SLDemo {
static void Main() {
// Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
SortedList si = new SortedList();
// ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ.
si.Add("Π·Π΄Π°Π½ΠΈΠ΅", "ΠΆΠΈΠ»ΠΎΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅");
si.Add("Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ½Π°", "ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ");
si.Add("ΠΊΠ½ΠΈΠ³Π°", "Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΡΠ»ΠΎΠ²");
si.Add("ΡΠ±Π»ΠΎΠΊΠΎ", "ΡΡΠ΅Π΄ΠΎΠ±Π½ΡΠΉ ΠΏΠ»ΠΎΠ΄");
// ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡΠ°,
si["ΡΡΠ°ΠΊΡΠΎΡ"] = "ΡΠ΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°";
// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
ICollection Ρ = si.Keys;
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Console.WriteLine("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡΡ.");
foreach(string str in Ρ)
Console.WriteLine(str + ": " + si[str]);
Console.WriteLine();
// ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
Console.WriteLine("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ.");
for(int i=0; i < si.Count; i++)
Console.WriteLine(si.GetByIndex(i)) ;
Console.WriteLine() ;
// ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°.
Console.WriteLine("Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°.");
foreach(string str in Ρ)
Console.WriteLine(str + ": " + si.IndexOfKey(str));
}
}
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡΡ.
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ½Π°: ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ
Π·Π΄Π°Π½ΠΈΠ΅: ΠΆΠΈΠ»ΠΎΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΊΠ½ΠΈΠ³Π°: Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΡΠ»ΠΎΠ²
ΡΡΠ°ΠΊΡΠΎΡ: ΡΠ΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°
ΡΠ±Π»ΠΎΠΊΠΎ: ΡΡΠ΅Π΄ΠΎΠ±Π½ΡΠΉ ΠΏΠ»ΠΎΠ΄
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ.
ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ
ΠΆΠΈΠ»ΠΎΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΡΠ»ΠΎΠ²
ΡΠ΅Π»ΡΡΠΊΠΎΡ ΠΎΠ·ΡΠΉΡΡΠ²Π΅Π½Π½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°
ΡΡΠ΅Π΄ΠΎΠ±Π½ΡΠΉ ΠΏΠ»ΠΎΠ΄
Π¦Π΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°.
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ½Π°: 0
Π·Π΄Π°Π½ΠΈΠ΅: 1
ΠΊΠ½ΠΈΠ³Π°: 2
ΡΡΠ°ΠΊΡΠΎΡ: 3
ΡΠ±Π»ΠΎΠΊΠΎ: 4
ΠΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΡΡΠ΅ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΡΠ΅Π» β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠ΅Π½". ΠΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π³ΠΎΡΠΊΠΈ ΡΠ°ΡΠ΅Π»ΠΎΠΊ, ΡΡΠΎΡΡΠΈΡ Π½Π° ΡΡΠΎΠ»Π΅. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΠ΅Π»ΠΊΠ°, ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π² ΡΡΡ Π³ΠΎΡΠΊΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· Π½Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ. Π‘ΡΠ΅ΠΊ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅. ΠΠ½ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°