y"> library=new Library (); (Book b in library.GetBooks (5))
{. WriteLine (b.Name);
}
Дзвінок library.GetBooks (5) буде повертати набір з не більше ніж 5 об'єктів Book. Але так як у прикладі всього три таких об'єкти, то в методі GetBooks після трьох операцій спрацює оператор yield break. [3]
(i == books.Length)
{break;
}
Іменовані ітератори виявляються дуже корисними в деяких ситуаціях, оскільки вони дозволяють передавати аргументи ітератором, керуючому процесом отримання конкретних елементів з колекції. Наприклад, ітератором можна передати початковий і кінцевий межі сукупності елементів, що повертаються з колекції ітератором.
Цю форму ітератора можна перевантажити, розширивши її функціональні можливості. У наведеному нижче прикладі програми демонструється спосіб застосування іменованого ітератора для отримання елементів колекції. У цьому прикладі елементи перераховуються в заданих початковому і кінцевому межах. [5]
System; System.Collections; MyClass
{ch= A raquo ;;
//Цей итератор повертає літери англійського алфавіту,
}
}
Висновок
Колекції служать сховищем об'єктів і забезпечують доступ до них. Використання колекцій в програмуванні має багато переваг. З їх допомогою зменшується кількість написаного коду. Над колекціями можна виробляти різні операції. У них можна додавати різні елементи, змінювати наявні або видаляти. У курсовій роботі були наведені приклади з різних джерел, в яких можна було спостерігати перераховані операції.
Колекції значно спрощують написання програми. Їх розмір динамічний, що є одним з важливих плюсів колекцій. Ще один плюс колекцій - в них вже є внутрішня реалізація різних структур даних, починаючи зі списків і закінчуючи хеш-таблицями. Методи пошуку, видалення або додавання елементів в структуру даних вже реалізовані всередині колекції, тому в більшості випадків не потрібно самостійно реалізовувати їх.
Список використаних джерел
1. Чистяков, В. Колекції в .NET Framework Class Library/В. Чистяков//RSDN Magazine.- 2003. № 6. - С. 31-34.
. Нейгел, Крістіан C # 5.0 і платформа .Net 4.5 для професіоналів/Крістіан Нейгел [и др.] .; пров. з англ. Ю.Н. Артеменко - М .: ТОВ ??laquo; И.Д. Вільямс raquo ;, 2014. - 1440 с.
3. Троелсен, Ендрю Мова програмування C # 5.0 і платформа .NET 4.5/Ендрю Троелсен; пров. з англ. Ю. Н. Артеменко.- 6-е вид.- М .: ТОВ ??laquo; И.Д. Вільямс raquo ;, 2013. - 1311 с.
Додаток
Листинги і результати роботи програм
У лістингу 1 представлений приклад використання колекцій, роботи з елементами, додавання і видалення деяких елементів.
Лістинг 1 - Створення та застосування двох колекцій
using System; System.Collections; System.Collections.Generic;
Collections
{Program
{void Main (string [] args)
{
//неузагальнених колекція ArrayListobjectList=new ArrayList () {1, 2, string raquo ;, c raquo ;, 2.0f};
obj=45.8; .Add (obj) ;. Add ( string2 ) ;. RemoveAt (0);// Видалення першого елемента
(object o in objectList)
{. WriteLine (o);
}. WriteLine ( Загальне число елементів колекції: + objectList.Count);
//узагальнена колекція List
lt; string gt; countries=new List lt; string gt; () { Росія raquo ;, США raquo ;, Великобританія raquo ;, Китай };
. Add ( Франція ) ;. RemoveAt (1);// Видалення другого елементу (string s in countries)
{. WriteLine (s);
}. ReadLine ();
}
}
}
Результат роботи програми представлений на малюнку А1.
Рисунок А.1 - Створення та застосування колекцій ArrayList і List
Лістинг 2 - Реалізація списку List lt; T gt;
using System; System.Collections.Generic;
Collections
{Program
{void Main (string [] args)
{ lt; int gt; numbers=new List lt...