Console.WriteLine("Items in list: {0}", people.Count);
// Скопировать данные в новый массив.
Person[] arrayOfPeople = people.ToArray;
foreach (Person p in arrayOfPeople) // Вывести имена
{
Console.WriteLine("First Names: {0}", p.FirstName);
}
}
Здесь для наполнения списка List
Add. После вывода количества элементов в коллекции (и прохода по всем элементам) вызывается метод Insert. Как видите, метод Insert позволяет вставлять новый элемент в List по указанному индексу.Наконец, обратите внимание на вызов метода ToArray
Person, основанный на содержимом исходного списка List. Затем осуществляется проход по всем элементам данного массива с использованием синтаксиса индексатора массива. Вызов метода UseGenericList в операторах верхнего уровня приводит к получению следующего вывода:***** Fun with Generic Collections *****
Items in list: 4
Name: Homer Simpson, Age: 47
Name: Marge Simpson, Age: 45
Name: Lisa Simpson, Age: 9
Name: Bart Simpson, Age: 8
->Inserting new person.
Items in list: 5
First Names: Homer
First Names: Marge
First Names: Maggie
First Names: Lisa
First Names: Bart
В классе List
Stack, Queue и SortedSet, что должно способствовать лучшему пониманию основных вариантов хранения данных в приложении.Работа с классом Stack
Класс Stack
Stack определены члены Push и Pop, предназначенные для вставки и удаления элементов из стека. Приведенный ниже метод создает стек объектов Person:static void UseGenericStack
{
Stack
stackOfPeople.Push(new Person { FirstName = "Homer",
LastName = "Simpson", Age = 47 });
stackOfPeople.Push(new Person { FirstName = "Marge",
LastName = "Simpson", Age = 45 });
stackOfPeople.Push(new Person { FirstName = "Lisa",
LastName = "Simpson", Age = 9 });
// Просмотреть верхний элемент, вытолкнуть его и просмотреть снова..
Console.WriteLine("First person is: {0}", stackOfPeople.Peek);
Console.WriteLine("Popped off {0}", stackOfPeople.Pop);
Console.WriteLine("\nFirst person is: {0}", stackOfPeople.Peek);
Console.WriteLine("Popped off {0}", stackOfPeople.Pop);
Console.WriteLine("\nFirst person item is: {0}", stackOfPeople.Peek);
Console.WriteLine("Popped off {0}", stackOfPeople.Pop);
try
{
Console.WriteLine("\nnFirst person is: {0}", stackOfPeople.Peek);
Console.WriteLine("Popped off {0}", stackOfPeople.Pop);
}
catch (InvalidOperationException ex)
{
Console.WriteLine("\nError! {0}", ex.Message); // Ошибка! Стек пуст
}
}
В коде строится стек, который содержит информацию о трех лицах, добавленных в алфавитном порядке следования их имен: Homer
Marge и Lisa. Заглядывая (посредством метода Реек) в стек, вы будете всегда видеть объект, находящийся на его вершине; следовательно, первый вызов Реек возвращает третий объект Person. После серии вызовов Pop и Peek стек, в конце концов, опустошается, после чего дополнительные вызовы Реек и Pop приводят к генерации системного исключения. Вот как выглядит вывод:Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT