Основы VB.NET Урок 52. Работа со списком (класс List)
Пожалуй, класс List - это самый распространенный по использованию класс из пространства имен System.Collections.Generic. Он представляет из себя
динамический список - т. е. мы можем добавлять в него элементы, удалять, искать и т. п. Кроме того, в этом generic-классе реализованы многие стандартные алгоритмы (сортировка, например).
Класс List - это generic класс. Это означает, что при объявлении экземпляра этого класса мы указываем некий конкретный тип, который и будет содержаться в нашем списке.
Ниже приведен пример использования этого класса. Наш список в качестве элементов будет содержать объекты типа Integer.
Module Module1
Dim list As List(Of Integer)
Sub Main()
Dim n As Integer
list = New List(Of Integer)
'Добавление элементов в список.
list.Add(22)
list.Add(44)
list.Add(32)
'Показ всех элементов списка.
Dim count As Integer = list.Count
Console.WriteLine("There is " + count.ToString() + " elements in the list.")
ShowAllElements()
'Есть ли элемент в списке?
If (list.Contains(44)) Then
Console.WriteLine("44 is in the list")
Else
Console.WriteLine("44 isn't in the list")
End If
'Ищем номер позиции, на которой расположен элемент.
'Если элемент не найден, то возвращаяется -1.
n = list.IndexOf(22)
Console.WriteLine("element 22 is in " + n.ToString() + " position.")
'Берем элемент по его номеру 2-я способами.
Console.WriteLine("Element 0: " + list.Item(0).ToString())
Console.WriteLine("Element 1: " + list(1).ToString())
'Удаляем элемент по номеруfdавва.
list.Remove(22)
ShowAllElements()
'Вставляем элемент 100 в позицию 1.
list.Insert(1, 100)
ShowAllElements()
'Делаем сортировку.
list.Sort()
ShowAllElements()
'Удаляем все элементы списка.
list.Clear()
ShowAllElements()
End Sub
'Метод для показа элементов списка.
Sub ShowAllElements()
If list.Count <> 0 Then
Dim a As Integer
Console.Write("All elements of list: ")
For Each a In list
Console.Write(a.ToString() + " ")
Next
Console.WriteLine()
Else
Console.WriteLine("List is empty")
End If
End Sub
End Module
Использование generic-класса List должно быть более-менее понятно из приведенных в листинге комментариев.
|