Управління колекціями в С # 2.0 і наступних версіях

Розробники корпорації Microsoft усередині шукали вирішення проблем із зберіганням змішаних типів і втратою продуктивності при операціях упаковки і расповкі Після довгих дискусій і обдумувань було запропоновано рішення у вигляді узагальнень NET Коротенько, узагальнення вирішують обидві проблеми з колекціями, прудітельно встановлюючи тип (Узагальнення NET також застосовуються для вирішення більш широких проблем)

В силу своєї утилітарності, колекції є ідеальним кандидатом для прененія узагальнень Колекції не застосовуються для вирішення проблем типу Вісленев податків Вони служать для створення наборів даних про доходи і податок відрахуваннях

Далі наводиться приклад використання колекцій із застосуванням узагальнень:

IList&ltExample&gt 1st = new List&ltExaznple&gt() lstAdd(new Example { Value = 10 }) lstAdd(new Example { Value = 20 }) foreach (Example item in 1st) {

ConsoleWriteLine(&quotitem (&quot + itemValue + &quot)&quot)

}

Жирним шрифтом виділено код, в якому застосовується узагальнення NET Код для додавання обєкта і для циклу foreach ідентичний коду в прикладі для версій яза до С # 20

ЮЗак 555

У кутових дужках (<>) укладено ідентифікатор застосовуваного загального підходу Все, що знаходиться всередині дужок при оголошенні iLis t або List, як би говорить: Я хочу, щоб примірники у моїй колекція були зазначеного в дужках типу. Додати тип, не повязаний з типом, визначеним у iLis t або List , не можна, тому наступний коду не скомпіліруется:

1stAdd(new Another())

Причиною цьому є та обставина, що колекція узагальнень NET забезпечує типову безпеку і не дозволяє змішування типів Дозволяються тільки обєкти типу Example Оголошуючи список таким чином: IList 1st

ми говоримо, що список має метод, оголошений так:

void Add(Example item)

При програмуванні на мові С # версії 30 слід використовувати класи Коллея для версій 20 і пізніших Класи колекцій узагальнень інших, ніж обоенія NET, більшою мірою є успадкованим кодом Усюди, де воожно, слід використовувати тільки узагальнення NET

Тепер, коли ми знаємо, як управляти колекціями обєктів, ми можемо Пристая до розгляду поширених проблем з колекціями, після чого іссловать способи їх вирішення

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*