2013-06-29 12 views
5

Sto provando a fare un piccolo programma in cui controlli per vedere se la casella è spuntata e se lo è aggiungerà un elemento alla lista "nomi". Ma ho bisogno che controlli se il nome non è già nella lista prima che aggiunga l'elemento.Come capire se un elenco non contiene un elemento?

+7

Hai provato qualcosa da solo? – Jon

+1

[la quinta voce da google per "l'elenco C# non contiene"] (http://www.dotnetperls.com/list-contains), non sarebbe molto difficile per nessuno capire il prossimo passo – Sayse

+1

@Sayse a oggi, questa domanda è ora la migliore ricerca su Google per quella frase;) – James

risposta

32

Il Contains metodo

if (!myList.Contains("name")) 
{ 
    myList.Add("name"); 
} 

O Any metodo

if (!myList.Any(s => s == "name")) 
{ 
    myList.Add("name"); 
} 

avrebbe fatto il lavoro. Non si specifica se il controllo fa distinzione tra maiuscole e minuscole, questi controlli sono entrambi con distinzione tra maiuscole e minuscole ma è abbastanza semplice da aggiornare per i controlli senza distinzione tra maiuscole e minuscole.

6

È possibile utilizzare uno HashSet invece, è progettato per non consentire duplicati.

Problemi correlati