Visual Basic .NET Language
Listy
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