Recherche…


Syntaxe

  • List.Add (article en tant que type)
  • List.RemoveRange (index As Integer, compte comme Integer)
  • List.Remove (index As Integer)
  • List.AddRange (collection)
  • List.Find (correspond à Predicate (of String))
  • List.Insert (index sous forme de nombre entier, élément sous forme de type)
  • List.Contains (élément en tant que type)

Créer une liste

Les listes peuvent être remplies avec n'importe quel type de données si nécessaire, avec le format

Dim aList as New List(Of Type)

Par exemple:

Créer une nouvelle liste vide de chaînes

Dim aList As New List(Of String)

Créer une nouvelle liste de chaînes et remplir certaines données

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

REMARQUE:

Si vous recevez ce qui suit lorsque le code est exécuté:

La référence d'objet n'est pas définie à une instance d'un objet.

Assurez-vous de déclarer en tant que New ie Dim aList as New List(Of String) ou en déclarant sans le New , assurez-vous de définir la liste sur une nouvelle liste - Dim aList as List(Of String) = New List(Of String)

Ajouter des éléments à une liste

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

Pour ajouter plusieurs éléments à la fois, utilisez AddRange . Ajoute toujours à la fin de la liste

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


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

Pour ajouter des éléments au milieu de la liste, utilisez Insérer

Insérer place l'élément à l'index et renuméroter les éléments restants

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

Nouvelle sortie:

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

Supprimer des éléments d'une liste

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

Récupérer des éléments d'une liste

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

Dim output As String = aList(0)

output :

Bonjour le monde

Si vous ne connaissez pas l'index de l'élément ou si vous ne connaissez qu'une partie de la chaîne, utilisez la méthode Find ou 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 :

Bonjour le monde

La méthode FindAll renvoie une nouvelle liste (de chaîne)

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

output (1) = "Test"

Boucle des éléments de la liste dans la liste

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

Produit la sortie suivante:

one
two
three

Une autre option serait de parcourir en boucle l’index de chaque élément:

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

Vérifier si l'élément existe dans une liste

    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

Produit la sortie suivante:

False
True
False


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow