Sök…


Syntax

  • Lista.Lägg (artikel som typ)
  • List.RemoveRange (index som heltal, räkna som heltal)
  • Lista. Ta bort (index som heltal)
  • List.AddRange (insamling)
  • List.Find (matcha som Predicate (of String))
  • Lista. Infoga (index som heltal, objekt som typ)
  • Lista.Innehåller (artikel som typ)

Skapa en lista

Listor kan fyllas med alla datatyper efter behov med formatet

Dim aList as New List(Of Type)

Till exempel:

Skapa en ny, tom lista med strängar

Dim aList As New List(Of String)

Skapa en ny lista med strängar och fyll i med vissa data

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

NOTERA:

Om du får följande när koden körs:

Objektreferens är inte inställd på ett exempel på ett objekt.

Se till att du antingen förklarar som New dvs Dim aList as New List(Of String) eller om du deklarerar utan den New , se till att du ställer in listan till en ny lista - Dim aList as List(Of String) = New List(Of String)

Lägg till objekt i en lista

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

För att lägga till mer än ett objekt åt gången använder du AddRange . Lägger alltid till i slutet av listan

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


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

För att lägga till objekt i mitten av listan använder du Infoga

Insert kommer att placera objektet i indexet och numera om de återstående artiklarna

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

Ny utgång:

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

Ta bort objekt från en lista

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

Hämta objekt från en lista

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

Dim output As String = aList(0)

output :

Hej världen

Om du inte känner till objektets index eller bara känner till en del av strängen använder du metoden Sök eller 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 :

Hej världen

FindAll- metoden returnerar en ny lista (av sträng)

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) = "Hej, test"

output (1) = "Test"

Slinga in tråget i listan

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

Tillverkar följande utgång:

one
two
three

Ett annat alternativ skulle vara att gå igenom indexet för varje element:

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

Kontrollera om objekt finns i en lista

    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

Tillverkar följande utgång:

False
True
False


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow