Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_ПОА.doc
Скачиваний:
93
Добавлен:
13.02.2015
Размер:
2.65 Mб
Скачать

Коллекции

Массив является всего лишь одним из многочисленных вариантов хранения набора данных, используемых C#. Вариант выбора зависит от нескольких факторов, например от планируемого способа управления или доступа к элементам. Например, список работает, как правило, быстрее массива при добавлении элемента в начало или в середину коллекции. Другие типы классов коллекций, такие как хэш-таблица, связный список и стек, имеют свои преимущества.

В следующем примере показано использование класса List<T>>)>. Обратите внимание, что в отличие от класса Array, элементы могут вставляться в середину списка. В этом примере показано ограничение списка, который может содержать только текстовые элементы48

public class TestCollections

{

public static void TestList()

{

System.Collections.Generic.List<string> sandwich = new System.Collections.Generic.List<string>();

sandwich.Add("bacon");

sandwich.Add("tomato");

sandwich.Insert(1, "lettuce");

foreach (string ingredient in sandwich)

{

System.Console.WriteLine(ingredient);

}

}

}

How to: Iterate Through an Array

This example uses the foreach statement to access and display items of an array.

Example

int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int element in numbers)

{

System.Console.WriteLine(element);

}

Compiling the Code

Copy the code and paste it into the Main method of a console application.

How to: Iterate Through a Collection

This example uses the Add method on the Hashtable class to add entries to a Hashtable collection. It then uses a foreach statement to iterate through the collection.

Example

Hashtable phones = new Hashtable();

// Add items.

phones.Add("John", "123-4567");

phones.Add("Enju", "351-8765");

phones.Add("Molly", "221-5678");

phones.Add("James", "010-4077");

phones.Add("Ahmed", "110-5699");

phones.Add("Leah", "922-5699");

// Iterate through the collection.

System.Console.WriteLine("Name\tNumber");

foreach (string name in phones.Keys)

{

System.Console.WriteLine(name +"\t"+ phones[name]);

}

Compiling the Code

  • Copy the code and paste it into the Main method of a console application.

  • Add a using directive to the System.Collections namespace.

Итерация массива

В этом примере используется оператор foreach для доступа и отображения элементов массива.

Пример

int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};

foreach (int element in numbers)

{

System.Console.WriteLine(element);

}

Компиляция кода

Скопируйте код и вставьте его в метод Mainконсольного приложения.

Выполнение итерации коллекции

В этом примере метод Add класса Hashtable используется для добавления записей в коллекцию Hashtable. Затем с помощью оператора foreach выполняется итерация коллекции.

Пример

Hashtable phones = new Hashtable();

// Add items.

phones.Add("John", "123-4567");

phones.Add("Enju", "351-8765");

phones.Add("Molly", "221-5678");

phones.Add("James", "010-4077");

phones.Add("Ahmed", "110-5699");

phones.Add("Leah", "922-5699");

// Iterate through the collection.

System.Console.WriteLine("Name\tNumber");

foreach (string name in phones.Keys)

{

System.Console.WriteLine(name +"\t"+ phones[name]);

}