Ricerca…


Sintassi

  • List.Add (item As Type)
  • List.RemoveRange (index As Integer, count As Integer)
  • List.Remove (index As Integer)
  • List.AddRange (raccolta)
  • List.Find (corrisponde a Predicate (di String))
  • List.Insert (indice come numero intero, elemento come tipo)
  • List.Contains (item as Type)

Crea una lista

Gli elenchi possono essere compilati con qualsiasi tipo di dati necessario, con il formato

Dim aList as New List(Of Type)

Per esempio:

Crea una nuova lista vuota di stringhe

Dim aList As New List(Of String)

Crea un nuovo elenco di stringhe e popola con alcuni dati

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

NOTA:

Se si riceve quanto segue quando viene eseguito il codice:

Il riferimento non impostato su un'istanza di un oggetto.

Assicurati di dichiarare come New cioè Dim aList as New List(Of String) o se dichiari senza il New , assicurati di impostare l'elenco su un nuovo elenco - Dim aList as List(Of String) = New List(Of String)

Aggiungi elementi a un elenco

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

Aggiungi più di un elemento per volta usa AddRange . Aggiunge sempre alla fine della lista

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


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

Per aggiungere elementi al centro dell'elenco, utilizzare Inserisci

Inserisci posizionerà l'elemento nell'indice e rinumererà gli elementi rimanenti

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

Nuova uscita:

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

Rimuovi elementi da una 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()

Recupera elementi da un elenco

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

Dim output As String = aList(0)

output :

Ciao mondo

Se non si conosce l'indice dell'elemento o si conosce solo parte della stringa, utilizzare il metodo Trova o Trova tutto

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 :

Ciao mondo

Il metodo FindAll restituisce una nuova lista (di 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) = "Ciao, prova"

output (1) = "Test"

Passa tra gli oggetti in lista

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

Produce il seguente risultato:

one
two
three

Un'altra opzione, sarebbe quella di scorrere attraverso l'uso dell'indice di ciascun elemento:

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

Controlla se l'elemento esiste in una 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

Produce il seguente risultato:

False
True
False


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow