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

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

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

личСство элСмСнтов, опрСдСляСмых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ count,

int count)

Π² массив array, начиная с элСмСнта, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ индСксу arraylndex. Π¦Π΅Π»Π΅Π²ΠΎΠΉ массив Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΈ совмСстимым ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ с элСмСнтами ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

public static ArrayList

Π—Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ list Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Ρ‚ΠΈΠΏΠ° ArrayList

FixedSize(ArrayList list)

с фиксированным Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

public virtual ArrayList

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ°

GetRange(int index, int

ArrayList. Π§Π°ΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚

count)

ся с элСмСнта, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ индСксу index, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ количСство элСмСнтов, опрСдСляСмоС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ count. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ссылаСтся Π½Π° Ρ‚Π΅ ΠΆΠ΅ элСмСнты, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

public virtual int

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° value

IndexOf(object value)

Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Если искомый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1

public virtual void

ВставляСт элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ с Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»

InsertRange(int index,

Π»Π΅ΠΊΡ†ΠΈΡŽ, начиная с элСмСнта, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ индСксу

ICollection c)

index

public virtual int

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс послСднСго вхоТдСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

LastlndexOf(object value)

value Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Если искомый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1

ΠœΠ΅Ρ‚ΠΎΠ΄

ОписаниС

public static ArrayList

Π—Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ list Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Ρ‚ΠΈΠΏΠ°

Readonly(ArrayList list)

ArrayList, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

public virtual void

УдаляСт Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, начиная с элС

RemoveRange(int index,

ΠΌΠ΅Π½Ρ‚Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ индСксу index, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ

int count)

количСство элСмСнтов, опрСдСляСмоС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ

count

public virtual void

РасполагаСт элСмСнты Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚

Reverse()

Π½ΠΎΠΌ порядкС

public virtual void

РасполагаСт Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ

Reverse(int index, int

ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, начиная с элСмСнта, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊ

count)

су index, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ количСство элСмСнтов, опрСдСляСмоС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ count

public virtual void

ЗамСняСт Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, начиная с элС

SetRange(int index,

ΠΌΠ΅Π½Ρ‚Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ индСксу index, элСмСнтами

ICollection c)

ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ с

public virtual void

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ

Sort ()

public virtual void

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для срав

Sort(Icomparer comparer)

нСния способ, опрСдСляСмый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ comparer. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ comparer ΠΈΠΌΠ΅Π΅Ρ‚ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ для сравнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ способ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

public virtual void

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для срав

Sort(int index, int

нСния способ, опрСдСляСмый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ comparer.

count, Icomparer

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° начинаСтся с элСмСнта, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ

comparer)

индСксу index, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ количСство элСмСнтов, опрСдСляСмых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ count. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ comparer ΠΈΠΌΠ΅Π΅Ρ‚ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ для сравнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ способ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

public static ArrayList

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ синхронизированный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

Synchronized(ArrayList

Ρ‚ΠΈΠΏΠ° ArrayList, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

list)

list

public virtual object[]

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив, содСрТащий ΠΊΠΎΠΏΠΈΠΈ элСмСнтов Π²Ρ‹

ToArray()

Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

public virtual Array

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив, содСрТащий ΠΊΠΎΠΏΠΈΠΈ элСмСнтов Π²Ρ‹

ToArray(Type type)

Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ΠΈΠΏ элСмСнтов этого массива опрСдСляСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ type

public virtual void

УстанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Capacity Ρ€Π°Π²Π½Ρ‹ΠΌ

TrimToSize()

Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ свойства Count

Π’ классС ArrayList поддСрТиваСтся Ρ‚Π°ΠΊΠΆΠ΅ ряд ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… элСмСнтами ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ…. Π’Π°ΠΊ, Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° ArrayList ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ InsertRange (). Для удалСния ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ элСмСнтов Π² Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ RemoveRange (). А для

пСрСзаписи элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° ArrayList Π² Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… элСмСнтами ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ слуТит ΠΌΠ΅Ρ‚ΠΎΠ΄ Set Range (). И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ…, Π° Π½Π΅ Π²ΠΎ всСй ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ коллСкция Ρ‚ΠΈΠΏΠ° 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('А'); al.Add('E') ; al.Add(1Π’1) ; al.Add('D') ; al.Add(1F') ;

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');