Die generische Liste hat eine Methode namens Contains, die true zurückgibt, wenn der Standardvergleich für den ausgewählten Typ ein Element findet, das den Suchkriterien entspricht.
Für eine List (Of String) ist dies der normale String-Vergleich, so könnte Ihr Code
Dim newAuthor = "Edgar Allan Poe"
if Not lsAuthors.Contains(newAuthor) Then
lsAuthors.Add(newAuthor)
End If
Als Randnotiz sein, hält der Standardvergleich für Strings zwei Strings anders, wenn sie nicht der gleiche Fall. Also, wenn Sie versuchen, einen Autor namens "Edgar Allan Poe" hinzufügen und Sie bereits eine mit dem Namen "Edgar Allan Poe" hinzugefügt haben, das Barebone Contains nicht bemerkt, dass sie gleich sind.
Wenn Sie diese Situation zu bewältigen haben, dann müssen Sie
....
if Not lsAuthors.Contains(newAuthor, StringComparer.CurrentCultureIgnoreCase) Then
.....
habe ich versucht, dass vor, erhalte ich eine Objektreferenz auf eine Instanz eines Objekts eingestellt. – Medise
@Medise: dann initialisiere die Liste. 'Öffentliche lsAuthors als neue Liste (von String)' –
Was für ein blutiger Fehler ich getan habe, das hat funktioniert, danke. – Medise