ΠΠΠΠΠ 25. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΠ΅Π΄Ρ .NET Framework: ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ . Π Π‘# ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΡΡΠ΅Π΄Π΅ .NET Framework ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΡΠ΄Π°ΡΠΈΠΏΠΈΡΠ½ΡΡ , Π½ΠΎ ΠΏΠΎΡΠΎΠΉ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠ΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠ΅Π΄Ρ .NET Framework Π²ΡΡΡΠΎΠ΅Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠ²ΡΠ·Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ², ΡΡΠ΅ΠΊΠΎΠ², ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΈ Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡ.ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ, Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌ ΠΏΡΠΈΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π²ΡΠ΅Ρ , ΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅Ρ Π½Π° Π‘#.ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΠΎ Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² Π²Π΅ΡΡΠΈΠΈC# 2.0 ΡΡΠ΅Π΄Π° .NET Framework Π±ΡΠ»Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈΠ½ΠΎΠ²ΡΠΌΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΠ΄Π²ΠΎΠΈΠ»ΠΎΡΡ. ΠΠΌΠ΅ΡΡΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Ρ (TPL) Π² Π²Π΅ΡΡΠΈΠΈ 4.0 ΡΡΠ΅Π΄Ρ .NETFramework ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΡΠ΄ Π½ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΡΡΡΠΏ ΠΊΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠ΅ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Collections APIΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅Π΄Ρ .NET Framework.ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄Π²Π° ΡΡΠ΅Π΄ΡΡΠ²Π°, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ: ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ. Π ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅ foreach.ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π³ΡΡΠΏΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°Π±ΠΎΡΠ°ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ArrayList, Hashtable, Stack ΠΈ Queue, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Ρ ΠΎΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ.Π ΡΡΠ΅Π΄Π΅ .NET Framework ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ: Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅,ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅, Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅. ΠΠ΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΡΠ΄ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΡΠ΅ΠΊ, ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅".Π ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: ΠΎΠ½ΠΈ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ° object.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΡΠΈΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΡΡ ΡΡΡΠ»ΠΊΠΈΠ½Π° Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° object. ΠΠ»Π°ΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections.Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡΡΡΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΡΠΎΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections.Specialized.Π ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Collections API ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ β ΡΡΠΎ BitArray. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° BitArray ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Ρ.Π΅. ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΡΡΠ΄Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅ΡΠ ΠΈΠ΄ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ ΠΠΠ, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° BitArray ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡΠ² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections.ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ²ΡΠ·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, ΡΡΠ΅ΠΊΠΈ, ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠΈ. Π’Π°ΠΊΠΈΠ΅ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² ΡΠΈΠ»Ρ ΠΈΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ°. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ,ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ ΠΏΠΎ ΡΠΈΠΏΡ Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ΠΈΠΌΠ΅Π½ System.Collections.Generic.ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠΎΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections.Concurrent.Π ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections.ObjectModel Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ.ΠΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ IEnumerator ΠΈ IEnumerable, Π° ΡΠ°ΠΊΠΆΠ΅Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ IEnumerator ΠΈ IEnumerable. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerable, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²,ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IEnumerator ΠΈΠ»ΠΈ IEnumerator. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ,Π²Π½Π΅ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎΡΠΈΠΏΠ°, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.ΠΡΠ±ΠΎΠΏΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅foreach ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ.ΠΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ IEnumerator ΠΈ IEnumerable, Π° ΡΠ°ΠΊΠΆΠ΅Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ IEnumerator ΠΈ IEnumerable. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerable, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²,ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IEnumerator ΠΈΠ»ΠΈ IEnumerator. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ,Π²Π½Π΅ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎΡΠΈΠΏΠ°, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.ΠΡΠ±ΠΎΠΏΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅foreach ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ.Π‘ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Π΄ΡΡΠ³ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. ΠΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ , ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΡΠΈΠΊΠ»Π΅ foreach. ΠΡΠ΅ΡΠ°ΡΠΎΡΡΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡΠ½Π° C++, ΡΠΎ Π²Π°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (Standard Template Library β STL),ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² C++. Π’ΠΎ, ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C++ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ,Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° C# Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ. ΠΡΠΎ ΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ Java. ΠΡΠ»ΠΈΠ²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Collections Framework Π΄Π»Ρ Java, ΡΠΎ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Π² C# Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ Π΄Π»Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΄Π°.Π ΡΠΈΠ»Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΡΡΠΈ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ (Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ,ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ , ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ , Ρ ΠΏΠΎΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ) Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.ΠΠ΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈΠΠ΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΠΎΡΠ»ΠΈ Π² ΡΠΎΡΡΠ°Π² ΡΡΠ΅Π΄Ρ .NET Framework Π΅ΡΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.0.ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections. ΠΠ΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΠΏΠ΅ΡΠΈΡΡΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°,Ρ ΠΎΡΡ ΠΈ Π½Π΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠΎΡΡΠΎΠΈΡ ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π°ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡΡ ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΏΡ Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡΠ΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠΎ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΠΈΠΏΠΎΠ²ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ .ΠΠ΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉΠ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΠ°ΡΠΈΠ½Π°ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ,ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ,ΡΠ»ΡΠΆΠ°ΡΠΈΠ΅ ΠΎΠΏΠΎΡΠΎΠΉ Π΄Π»Ρ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΡΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 25.1. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π°Π»Π΅Π΅.Π’Π°Π±Π»ΠΈΡΠ° 25.1. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ICollectionΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ICollection ΡΠ»ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π Π½Π΅ΠΌ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerable.Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ICollection ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Count ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° CountΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, ΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ.Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ICollection ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄.void Π‘ΠΎΡΡΠ’ΠΎ(Array target, int startIdx)ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ICollection ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈIComparer ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Compare() Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈIDictionary ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΏΠ°Ρ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅"IDictionaryEnumerator ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDictionaryIEnumerable ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ GetEnumerator(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈIEnumerator ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈIEqualityComparer Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°IHashCodeProvider Π‘ΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ. ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IEqualityComparerIList ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡΠ°IStructuralComparable ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ CompareTo(), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡIStructuralEquatable ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Equals(), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ, Π° Π½Π΅ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ GetHashCode()ΠΠ΅ΡΠΎΠ΄ Π‘ΠΎΡΡΠ’ΠΎ() ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² target, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ startIdx. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ Π‘ΠΎΡΡΠ’ΠΎ() ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π² C# ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ.ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ICollection Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerable,Π² Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π² Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅IEnumerable. ΠΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ GetEnumerator(), ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.IEnumerator GetEnumerator()ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerable Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ICollection ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ:AsParallel(), AsQueryable(), Cast() ΠΈ OfType(). Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΠΎΠ΄ AsParallel()ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ System.Linq.ParallelEnumerable, ΠΌΠ΅ΡΠΎΠ΄ AsQueryable() βΠ² ΠΊΠ»Π°ΡΡΠ΅ System.Linq.Queryable, Π° ΠΌΠ΅ΡΠΎΠ΄Ρ Cast() ΠΈ OfType() β Π² ΠΊΠ»Π°ΡΡΠ΅ System.Linq.Enumerable. ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ LINQ,Ρ ΠΎΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»ΡΡ .ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IListΠ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IList ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Ρ ΠΎΡΡΡΠ΅ΡΠΎΠΌ ΠΎΡ Π½ΡΠ»Ρ.ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ICollection ΠΈ IEnumerable. ΠΠΎΠΌΠΈΠΌΠΎΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IList ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 25.2. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠΎ Π² ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅NotSupportedException.Π’Π°Π±Π»ΠΈΡΠ° 25.2. ΠΠ΅ΡΠΎΠ΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IListΠ‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅int Count { get; } Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρbool IsSynchronized { get; } ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°, Π° ΠΈΠ½Π°ΡΠ΅ β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρobject SyncRoot { get; } Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ±ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°ΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅int Add(object value) ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ value Π² Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡvoid Clear() Π£Π΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈbool Contains (object value) ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ value, Π° ΠΈΠ½Π°ΡΠ΅ β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ falseΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π». 25.2ΠΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° IList Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° Add(). ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Add() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° object. Π ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡobject ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ², ΡΠΎ Π² Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈ ΡΠΈΠΏΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π² ΡΠΈΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ.ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»ΡΠΆΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Remove() ΠΈ RemoveAt(). Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠ΅ΡΠΎΠ΄ Remove() ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π° ΠΌΠ΅ΡΠΎΠ΄ RemoveAt() ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ. Π Π΄Π»Ρ ΠΎΠΏΠΎΡΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Clear().ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Contains(). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ IndexOf(),Π° Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΠΌΠ΅ΡΠΎΠ΄ Insert().Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IList ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.bool IsFixedSize { get; }bool IsReadOnly { get; }ΠΡΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ IsFixedSize ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΡΠ°ΠΊΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π½Π΅Π»ΡΠ·Ρ Π½ΠΈ Π²ΡΡΠ°Π²Π»ΡΡΡΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ ΠΈΠ· Π½Π΅Π΅. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΡΠΎΡΠ²ΠΎΠΉΡΡΠ²ΠΎ IsReadOnly ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IList ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡ.object this[int index] { get; set; }ΠΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.ΠΠΎ Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Add(). ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ,ΠΎΠ½ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡΠ°.ΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅int IndexOf(object value) ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° value, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ΠΎΠ±ΡΠ΅ΠΊΡ value Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½, ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1void Insert(int index,object value)ΠΡΡΠ°Π²Π»ΡΠ΅Ρ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ valueΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΠ²ΡΠΈΠ΅ΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index ΠΈ Π΄Π°Π»ΡΡΠ΅, ΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄,ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°valuevoid Remove(object value) Π£Π΄Π°Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° value Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΠ²ΡΠΈΠ΅ΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎΠ·Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, ΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π°Π·Π°Π΄, ΡΡΠΎΠ±ΡΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π²ΡΠΈΠΉΡΡ βΠΏΡΠΎΠ±Π΅Π»"void RemoveAt(int index) Π£Π΄Π°Π»ΡΠ΅Ρ ΠΈΠ· Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ index. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ,Π½Π°Ρ ΠΎΠ΄ΠΈΠ²ΡΠΈΠ΅ΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ,ΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π°Π·Π°Π΄, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π²ΡΠΈΠΉΡΡβΠΏΡΠΎΠ±Π΅Π»βΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDictionaryΠ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionary ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡΠ²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDictionary,Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅". ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΏΠ°ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π°, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDictionary Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²ICollection ΠΈ IEnumerable. ΠΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionary, ΡΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 25.3. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ArgumentNullExceptionΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΊΠ»ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ.Π’Π°Π±Π»ΠΈΡΠ° 25.3. ΠΠ΅ΡΠΎΠ΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionaryΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° IDictionary ΡΠ»ΡΠΆΠΈΡΠΌΠ΅ΡΠΎΠ΄ Add(). ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠ»ΡΡ ΠΈ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Remove(). Π Π΄Π»Ρ ΠΎΠΏΠΎΡΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Clear().ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Contains() Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° GetEnumerator() ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠΈΠΏΠ°IDictionary. ΠΡΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠΈ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅".Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionary ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Keys ΠΈ Values.ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IDictionary ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡ.object this[object key] { get; set; }ΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅void Add(object key,object value)void Clear()ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅β, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ key ΠΈ valueΠ£Π΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" ΠΈΠ· Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈbool Contains(object key) ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ key Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ°,Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ falseIDictionaryEnumeratorGetEnumerator()ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈvoid Remove(object key) Π£Π΄Π°Π»ΡΠ΅Ρ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠ»ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° keyΠ‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅bool IsFixedSize { get; } ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρbool IsReadOnly { get; } ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡICollection Keys { get; } ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉICollection Values { get; } ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉΠΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΎΡ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ,Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π² Π΄Π°Π½Π½ΠΎΠΌΡΠ»ΡΡΠ°Π΅ ΡΠ»ΡΠΆΠΈΡ ΠΊΠ»ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π° Π½Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ.ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ IEnumerable, IEnumerator ΠΈ IDictionaryEnumeratorΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IEnumerable ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΊΠ»Π°ΡΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΠΊ ΠΏΠΎΡΡΠ½ΡΠ»ΠΎΡΡ Π²ΡΡΠ΅, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IEnumerable ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠ°Ρ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ICollection. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄GetEnumerator(), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IEnumerable.IEnumerator GetEnumerator()ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerable ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅ foreach.Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IEnumerator ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" (ΡΠ»ΠΎΠ²Π°ΡΠΈ), ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ GetEnumerator()Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° IDictionaryEnumerator, Π° Π½Π΅ ΡΠΈΠΏΠ° IEnumerator. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡIDictionaryEnumerator Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumerator ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ.Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IEnumerator ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ MoveNext() ΠΈ Reset()ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Current. Π‘ΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉΠ³Π»Π°Π²Π΅. Π Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Current ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠΉ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ΅ΡΠΎΠ΄ MoveNext() ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π° ΠΌΠ΅ΡΠΎΠ΄ Reset() Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°.ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ IComparer ΠΈ IEqualityComparerΠ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IComparer ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Compare() Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².int Compare(object Ρ , object Ρ)ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ; ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ β Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ; ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠ΅ β Π΅ΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π²Π½Ρ. ΠΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΠ΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IEqualityComparer ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°.bool Equals(object Ρ , object Ρ)int GetHashCode(object obj)ΠΠ΅ΡΠΎΠ΄ Equals() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΈ Ρ ΡΠ°Π²Π½Ρ. Π ΠΌΠ΅ΡΠΎΠ΄ GetHashCode() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Ρ Π΅Ρ-ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° obj.ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ IStructuralComparable ΠΈ IStructuralEquatableΠΠ±Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IStructuralComparable ΠΈ IStructuralEquatable Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π²Π²Π΅ΡΡΠΈΡ 4.0 ΡΡΠ΅Π΄Ρ .NET Framework. Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ IStructuralComparable ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ CompareTo(), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. (ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΠ΅ΡΠΎΠ΄ CompareTo() ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π° Π½Π΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½ΠΈΡ .) ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΠΎΡΠΌΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°.int CompareTo(object other, IComparer comparer)ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ -1, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡother; 1, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° other; ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, 0, Π΅ΡΠ»ΠΈΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π ΡΠ°ΠΌΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ comparer.ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IStructuralEquatable ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.bool Equals(object other, IEqualityComparer comparer)int GetHashCode(IEqualityComparer comparer)ΠΠ΅ΡΠΎΠ΄ Equals() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ other ΡΠ°Π²Π½Ρ. Π ΠΌΠ΅ΡΠΎΠ΄ GetHashCode() Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ Π΅Ρ-ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ,Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ. Π‘Π°ΠΌΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΡΠ΅Π·ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ comparer.Π‘ΡΡΡΠΊΡΡΡΠ° DictionaryEntryΠ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collections ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΡΡΠΊΡΡΡΠ° DictionaryEntry.ΠΠ΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠ°Ρ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΡΠΈ ΠΏΠ°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ°DictionaryEntry. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄Π²Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°.public object Key { get; set; }public object Value { get; set; }ΠΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ»ΡΡΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° DictionaryEntry ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°:public DictionaryEntry(object key, object value)Π³Π΄Π΅ key ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ»ΡΡ, a value β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.ΠΠ»Π°ΡΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉΠ ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠ»Π°ΡΡΡ Π½Π΅ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° BitArray,ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.ΠΠ»Π°ΡΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ArrayList ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ², Ρ.Π΅. ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡHashtable ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠ°Ρ βΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅βQueue ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ βΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΡΠ΅Π» β ΠΏΠ΅ΡΠ²ΡΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠ΅Π½βSortedList ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°Ρ βΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅βStack ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ΅ΠΊ, ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΡΠ΅Π» βΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠ΅Π½βΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡΠ΄Π°Π»Π΅Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .ΠΠ»Π°ΡΡ ArrayListΠ ΠΊΠ»Π°ΡΡΠ΅ ArrayList ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠ΅ΡΡ ΠΈΡΠΎΠΊΡΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π ΡΠ·ΡΠΊΠ΅ C# ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΊΠ»Π°ΡΡ ArrayList. Π ΠΊΠ»Π°ΡΡΠ΅ ArrayList ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΡΠ»ΠΎΠΊ Π½Π°ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠ°ΡΡΠΈΠ² ΡΠΈΠΏΠ°ArrayList ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠ΅Π²ΡΡΠ°Π΅ΡΡΡ, ΡΠΎΠΌΠ°ΡΡΠΈΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ. Π ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ½Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ArrayList ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π‘#. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° ArrayList ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅.Π ΠΊΠ»Π°ΡΡΠ΅ ArrayList ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ICollection, IList, IEnumerableΠΈ ICloneable. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ArrayList.public ArrayList()public ArrayList(ICollection c)public ArrayList(int capacity)ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° ArrayList Ρ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π΅ΠΌΠΊΠΎΡΡΡΡ. ΠΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Ρ ΠΈ ΡΠ°Π²Π½ΠΎΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π΅ΠΌΠΊΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°. Π’ΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΠΈΠΌΠ΅ΡΡΡΡΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ Π΅ΠΌΠΊΠΎΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠ°ΡΠ°city. Π Π΄Π°Π½Π½ΠΎΠΌΡΠ»ΡΡΠ°Π΅ Π΅ΠΌΠΊΠΎΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠΌΠΊΠΎΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayList ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² Π½Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².Π ΠΊΠ»Π°ΡΡΠ΅ ArrayList ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ΅Ρ , ΡΡΠΎ ΡΠΆΠ΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° ArrayList ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 25.4. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠ°ArrayList ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π²ΡΠ·Π²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ Sort(). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΈΡΠΊ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° BinarySearch() ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayList ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡ, Π²ΡΠ·Π²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ Reverse().Π’Π°Π±Π»ΠΈΡΠ° 25.4. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ ArrayListΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅public virtual voidAddRange(Icollection Ρ)public virtual intBinarySearch(objectvalue)ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ Π² ΠΊΠΎΠ½Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayListΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡvalue. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±Π». 25.4ΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅public virtual intBinarySearch(objectvalue, Icomparercomparer)ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡvalue, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ comparer. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ²ΠΏΠ°Π²ΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊΠ΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½public virtual intBinarySearch(int index,int count, object value,IComparer comparer)ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡvalue, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ comparer. ΠΠΎΠΈΡΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°,ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ count. ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ²ΠΏΠ°Π²ΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½public virtual voidΠ‘ΠΎΡΡΠ’ΠΎ(Array array)ΠΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² array, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΠΏΠΎ ΡΠΈΠΏΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈpublic virtual voidΠ‘ΠΎΡΡΠ’ΠΎ(Array array, intarrayIndex)ΠΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²array, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡarrayIndex. Π¦Π΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΠΏΠΎ ΡΠΈΠΏΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈpublic virtual voidCopyTo(int index, Arrayarray, int arrayIndex,int count)ΠΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΠΈ Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ count,Π² ΠΌΠ°ΡΡΠΈΠ² array, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΠ½Π΄Π΅ΠΊΡΡ arrayIndex. Π¦Π΅Π»Π΅Π²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΠΏΠΎ ΡΠΈΠΏΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈpublic static ArrayListFixedSize(ArrayList list)public virtual ArrayListGetRange(int index, intcount)ΠΠ°ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ list Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΡΠΈΠΏΠ° ArrayListΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ°ArrayList. Π§Π°ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌcount. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ΅ ΠΆΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΡΠΎ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡpublic virtual intIndexOf(object value)ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° valueΠ² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1public virtual voidInsertRange(int index,ICollection c)ΠΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡindexpublic virtual intLastlndexOf(object value)ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°value Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½, ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π». 25.4Π ΠΊΠ»Π°ΡΡΠ΅ ArrayList ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΎΠΏΠ΅ΡΠΈΡΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ . Π’Π°ΠΊ, Π² ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList ΠΌΠΎΠΆΠ½ΠΎΠ²ΡΡΠ°Π²ΠΈΡΡ Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π²ΡΠ·Π²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ InsertRange(). ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ RemoveRange(). Π Π΄Π»ΡΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅public static ArrayListReadonly(ArrayList list)ΠΠ°ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ list Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΡΠΈΠΏΠ°ArrayList, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρpublic virtual voidRemoveRange(int index,int count)Π£Π΄Π°Π»ΡΠ΅Ρ ΡΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌcountpublic virtual voidReverse()Π Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅public virtual voidReverse(int index, intcount)Π Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΠΈ Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ countpublic virtual voidSetRange(int index,ICollection c)ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρpublic virtual voidSort()Π‘ΠΎΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠΎ Π½Π°ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΉpublic virtual voidSort(Icomparer comparer)Π‘ΠΎΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ comparer.ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ comparer ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΏΠΎΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡpublic virtual voidSort(int index, intcount, Icomparercomparer)Π‘ΠΎΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ comparer.Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΈΠ½Π΄Π΅ΠΊΡΡ index, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²,ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ count. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡcomparer ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡpublic static ArrayListSynchronized(ArrayListlist)ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈΡΠΈΠΏΠ° ArrayList, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°listpublic virtual object[]ToArray()ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°public virtual ArrayToArray(Type type)ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ typepublic virtual voidTrimToSize()Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Capacity ΡΠ°Π²Π½ΡΠΌΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° CountΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayList Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ SetRange(). Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΡ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ , Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList Π½Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Synchronized().Π ΠΊΠ»Π°ΡΡΠ΅ ArrayList ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½ΠΈΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Capacity, ΠΏΠΎΠΌΠΈΠΌΠΎΡΠ²ΠΎΠΉΡΡΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ.public virtual int Capacity { get; set; }Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Capacity ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅ΠΌΠΊΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayList. ΠΠΌΠΊΠΎΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList Π΄ΠΎ Π΅Π΅ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π΅Π΅ Π΅ΠΌΠΊΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎ ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡΡΡΠΎΠΌΡ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈΡΠΈΠΏΠ° ArrayList, ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°Capacity. ΠΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Count. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Count ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ICollection ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΡΡΠΊΠ°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Capacity ΠΌΠ΅Π½ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Count ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ArgumentOutOfRangeException. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayList, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π½Π΅ΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Capacity ΡΠ°Π²Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Count. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ TrimToSize().Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°ArrayList. Π Π½Π΅ΠΉ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList, Π° Π·Π°ΡΠ΅ΠΌ Π² ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²Π²ΠΎΠ΄ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Π½ΠΎΠ²Ρ. ΠΠΎΡΠ»Π΅ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²Π²ΠΎΠ΄ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΡΠΎ Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΅Π΅Π΅ΠΌΠΊΠΎΡΡΡ. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.// ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ArrayList.using System;using System.Collections;class ArrayListDemo {static void Main() {// Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.ArrayList al = new ArrayList();Console.WriteLine("ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: " + al.Count);Console.WriteLine();Console.WriteLine("ΠΠΎΠ±Π°Π²ΠΈΡΡ 6 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²");// ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ².al.Add('Π‘');al.Add('A');al.Add('E');al.Add('Π');al.Add('D');al.Add('F');Console.WriteLine("ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: " + al.Count);// ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°,// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°.Console.Write("Π’Π΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ");for(int i=0; i < al.Count; i++)Console.Write(al[i] + " ");Console.WriteLine("\n");Console.WriteLine("Π£Π΄Π°Π»ΠΈΡΡ 2 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°");// Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.al.Remove('F');al.Remove('A');Console.WriteLine("ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: " + al.Count);// ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» foreach.Console.Write("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ");foreach(char Ρ in al)Console.Write(Ρ + " ");Console.WriteLine("\n");Console.WriteLine("ΠΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ 20 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²");// ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ Π΄Π»Ρ// ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°.for (int i=0; i < 20; i++)al.Add((char)('a' + i));Console.WriteLine("Π’Π΅ΠΊΡΡΠ°Ρ Π΅ΠΌΠΊΠΎΡΡΡ: " + al.Capacity);Console.WriteLine("ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ 20 Π½ΠΎΠ²ΡΡ : " +al.Count);Console.Write("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ");foreach(char Ρ in al)Console.Write(Ρ + " ");Console.WriteLine("\n");// ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°,// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°.Console.WriteLine("ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°");al[0] = 'X';al[1] = 'Y';al[2] = 'Z';Console.Write("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ");foreach(char Ρ in al)Console.Write(c + "Console.WriteLine();}}ΠΠΎΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: 0ΠΠΎΠ±Π°Π²ΠΈΡΡ 6 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: 6Π’Π΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: Π‘ Π Π Π D FΠ£Π΄Π°Π»ΠΈΡΡ 2 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: 4Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: Π‘ Π Π DΠΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ 20 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²Π’Π΅ΠΊΡΡΠ°Ρ Π΅ΠΌΠΊΠΎΡΡΡ: 32ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ 20 Π½ΠΎΠ²ΡΡ : 24Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: C E B D a b c d e f g h i j k l m n o p q r s tΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: X Y Z D a b c d e f g h i j k l m n o p q r s tΠ‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠΈΡΠΊ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayListΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Sort().Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΈΡΠΊ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° BinarySearch()ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.// ΠΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π² Π½Π΅ΠΉ ΠΏΠΎΠΈΡΠΊ.using System;using System.Collections;class SortSearchDemo {static void Main() {// Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.ArrayList al = new ArrayList();// ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ².al.Add(55);al.Add(43);al.Add(-4);al.Add(88);al.Add(3);al.Add(19);Console.Write("ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ");foreach(int i in al)Console.Write(i + " ");Console.WriteLine("\n");// ΠΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ².al.Sort();// ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» foreach.Console.Write("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ: ");foreach(int i in al)Console.Write(i + " ");Console.WriteLine("\n");Console.WriteLine("ΠΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° 43: " +al.BinarySearch(43));}}ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: 55 43 -4 88 3 19Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ: -4 3 19 43 55 88ΠΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° 43: 3Π ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayList ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π»ΡΠ±ΠΎΠ³ΠΎΡΠΈΠΏΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² Π½Π΅ΠΉ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ. Π’Π°ΠΊ, Π΅ΡΠ»ΠΈ Π±Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎ ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π±Ρ ΠΊ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.ΠΠΏΡΠΎΡΠ΅ΠΌ, Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ ΠΈ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ΠΌΠ΅ΡΠΎΠ΄Ρ. Π ΡΠ°ΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° ArrayListΠ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠΈΠΏΠ° ArrayList ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ Π’ΠΎΠrrΠ°Ρ(). ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΡΠΈΠ½. ΠΠ²Π΅ ΠΈΠ· Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ²Ρ: ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΠΌΠ°ΡΡΠΈΠ² ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ½ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. ΠΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.// ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ArrayList Π² ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ².using System;using System.Collections;class ArrayListToArray {static void Main() {ArrayList al = new ArrayList();// ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ².al.Add(1);al.Add(2);al.Add(3);al.Add(4);Console.Write("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅: ");foreach(int i in al)Console.Write(i + " ");Console.WriteLine();// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ².int[] ia = (int[]) al.ToArray(typeof(int));int sum = 0;// ΠΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.for(int i=0; i ");int a = (int) st.Pop();ΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅public virtual void Clear() Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Count ΡΠ°Π²Π½ΡΠΌ Π½ΡΠ»Ρ, ΠΎΡΠΈΡΠ°Ρ, ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ, ΡΡΠ΅ΠΊpublic virtual boolContains (object obj)ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡobj ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌ ΡΡΠ΅ΠΊΠ΅, Π° ΠΈΠ½Π°ΡΠ΅ βΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ falsepublic virtual object Peek() ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π½Π° Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°, Π½ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π³ΠΎpublic virtual object Pop() ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π½Π° Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°, ΡΠ΄Π°Π»ΡΡ Π΅Π³ΠΎ ΠΏΠΎ Ρ ΠΎΠ΄Ρ Π΄Π΅Π»Π°public virtual voidPush (object obj)ΠΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ obj Π² ΡΡΠ΅ΠΊpublic static StackSynchronized(Stack stack)ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° Stack, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° stackpublic virtual object[]ToArray()ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ°Console.WriteLine(a);Console.Write("Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅ΠΊΠ°: ");foreach(int i in st)Console.Write(i + " ");Console.WriteLine();}static void Main() {Stack st = new Stack ();foreach(int i in st)Console.Write(i + " ");Console.WriteLine();ShowPush(st, 22);ShowPush(st, 65);ShowPush(st, 91);ShowPop(st);ShowPop(st);ShowPop(st);try {ShowPop(st);} catch (InvalidOperationException) {Console.WriteLine("Π‘ΡΠ΅ΠΊ ΠΏΡΡΡ.");}}}ΠΠΈ