2013-01-16 6 views

Antwort

19
names.RemoveAll(x => x.UserName == name); 

Hinweis hier, dass alle Lambda-Syntax tut, ist ein Predicate<T> bereitzustellen; Lambda-Syntax ist völlig unabhängig davon, was es endet tun mit dem Lambda.

Oder für ein einzelnes Spiel (siehe Kommentare):

var found = names.Find(x => x.UserName == name); 
if(found != null) names.Remove(found); 

oder:

var index = names.FindIndex(x => x.UserName == name); 
if(index >= 0) names.RemoveAt(index); 
+0

ich will nur einen Namen entfernen, das heißt senden als ein Argument – darko

+0

@darko wird es nur entfernen t Schlauch, die übereinstimmen; aber ... Ich werde eine Bearbeitung für einzelne Entfernung hinzufügen ... –

+0

Rost. arbeiten :) danke – darko

2
var n = names.SingleOrDefault(x => x.UserName == name) 
if(n != null && n.UserName.length > 0) 
{ 
names.Remove(n); 
} 

ODER

var n= names.Where(x => x.UserName == name).First(); 
names.Remove(n) 
+0

Wie kann ich einen Hinweis auf "Erfolg" erhalten, wenn die Funktion entfernt wurde oder nicht? – darko

+0

name.Remove (n) Rückgabe: // true, wenn das Objekt erfolgreich entfernt wurde; sonst falsch. Diese Methode gibt auch // false zurück, wenn Element nicht in der gefunden wurde – andy

Verwandte Themen