Поиск…


Синтаксис

  • List.Add (item As Type)
  • List.RemoveRange (индекс As Integer, count As Integer)
  • List.Remove (индекс As Integer)
  • List.AddRange (коллекция)
  • List.Find (соответствует как Predicate (из String))
  • List.Insert (index as Integer, item as Type)
  • Список. Контейнеры (элемент как тип)

Создать список

Списки могут заполняться любым типом данных, если необходимо, с форматом

Dim aList as New List(Of Type)

Например:

Создайте новый пустой список строк

Dim aList As New List(Of String)

Создайте новый список строк и заполните некоторые данные

VB.NET 2005/2008:

Dim aList as New List(Of String)(New String() {"one", "two", "three"})

VB.NET 2010:

Dim aList as New List(Of String) From {"one", "two", "three"}

-

VB.NET 2015:

Dim aList as New List(Of String)(New String() {"one", "two", "three"})

НОТА:

Если при запуске кода вы получаете следующее:

В экземпляре объекта не задана ссылка на объект.

Убедитесь, что вы либо объявляете, что New т.е. Dim aList as New List(Of String) или объявляете без New , убедитесь, что вы установите список в новый список. - Dim aList as List(Of String) = New List(Of String)

Добавить элементы в список

Dim aList as New List(Of Integer)
aList.Add(1)
aList.Add(10)
aList.Add(1001)

Чтобы добавить несколько элементов одновременно, используйте AddRange . Всегда добавляет в конец списка

Dim blist as New List(of Integer)
blist.AddRange(alist) 


Dim aList as New List(of String)
alist.AddRange({"one", "two", "three"}) 

Чтобы добавить элементы в середину списка, используйте Insert

Вставка поместит элемент в индекс и перенумерует остальные элементы

Dim aList as New List(Of String)
aList.Add("one")
aList.Add("three")
alist(0) = "one"
alist(1) = "three"
alist.Insert(1,"two")

Новый выход:

alist(0) = "one"       
alist(1) = "two"
alist(2) = "three"

Удаление элементов из списка

Dim aList As New List(Of String)
aList.Add("Hello")
aList.Add("Delete Me!")
aList.Add("World")

'Remove the item from the list at index 1
aList.RemoveAt(1)

'Remove a range of items from a list, starting at index 0, for a count of 1)
'This will remove index 0, and 1!
aList.RemoveRange(0, 1)

'Clear the entire list
alist.Clear()

Извлечение элементов из списка

Dim aList as New List(Of String)
aList.Add("Hello, World")
aList.Add("Test")

Dim output As String = aList(0)

output :

Привет, мир

Если вы не знаете индекс элемента или знаете только часть строки, используйте метод Find или FindAll

Dim aList as New List(Of String)
aList.Add("Hello, World")
aList.Add("Test")

Dim output As String = aList.Find(Function(x) x.StartWith("Hello"))

output :

Привет, мир

Метод FindAll возвращает новый List (String)

Dim aList as New List(Of String)
aList.Add("Hello, Test")
aList.Add("Hello, World")
aList.Add("Test")

Dim output As String = aList.FindAll(Function(x) x.Contains("Test"))

output (0) = "Hello, Test"

output (1) = "Test"

Элементы петли в списке

Dim aList as New List(Of String)
aList.Add("one")
aList.Add("two")
aList.Add("three")

For Each str As String in aList
    System.Console.WriteLine(str)
Next

Производит следующий вывод:

one
two
three

Другой вариант - выполнить цикл с использованием индекса каждого элемента:

Dim aList as New List(Of String)
aList.Add("one")
aList.Add("two")
aList.Add("three")

For i = 0 to aList.Count - 1 'We use "- 1" because a list uses 0 based indexing.
    System.Console.WriteLine(aList(i))
Next

Проверьте, существует ли элемент в списке

    Sub Main()
        Dim People = New List(Of String)({"Bob Barker", "Ricky Bobby", "Jeff Bridges"})
        Console.WriteLine(People.Contains("Rick James"))
        Console.WriteLine(People.Contains("Ricky Bobby"))
        Console.WriteLine(People.Contains("Barker"))
        Console.Read 
    End Sub

Производит следующий вывод:

False
True
False


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow