Szukaj…


Składnia

  • List.Add (pozycja jako typ)
  • List.RemoveRange (indeks jako liczba całkowita, policz jako liczba całkowita)
  • List.Remove (index As Integer)
  • List.AddRange (kolekcja)
  • List.Find (dopasuj jako Predicate (ciągu))
  • List.Insert (indeks jako liczba całkowita, pozycja jako typ)
  • List.Contains (pozycja jako typ)

Stwórz listę

W razie potrzeby listy można wypełnić dowolnym typem danych i formatem

Dim aList as New List(Of Type)

Na przykład:

Utwórz nową, pustą listę ciągów

Dim aList As New List(Of String)

Utwórz nową listę ciągów i wypełnij niektóre dane

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"})

UWAGA:

Jeśli po uruchomieniu kodu otrzymujesz następujące informacje:

Odwołanie do obiektu nie jest ustawione na instancję obiektu.

Upewnij się, że zadeklarowałeś jako New tj. Dim aList as New List(Of String) lub, jeśli deklarujesz bez New , upewnij się, że ustawiłeś listę na nową listę - Dim aList as List(Of String) = New List(Of String)

Dodaj elementy do listy

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

Aby dodać więcej niż jeden element na raz, użyj AddRange . Zawsze dodaje się na końcu listy

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


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

Aby dodać elementy na środku listy, użyj Wstaw

Wstaw wstawi element do indeksu i przenumeruje pozostałe elementy

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

Nowa produkcja:

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

Usuń elementy z listy

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()

Odzyskaj elementy z listy

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

Dim output As String = aList(0)

output :

Witaj świecie

Jeśli nie znasz indeksu elementu lub znasz tylko część ciągu, użyj metody Find lub 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 :

Witaj świecie

Metoda FindAll zwraca nową Listę (ciągu)

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"))

wyjście (0) = „Witaj, test”

wyjście (1) = „Test”

Zapętlaj elementy koryta na liście

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

Daje następujące dane wyjściowe:

one
two
three

Inną opcją byłoby przejście przez pętlę za pomocą indeksu każdego elementu:

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

Sprawdź, czy element istnieje na liście

    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

Daje następujące dane wyjściowe:

False
True
False


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow