2016-08-07 22 views
0

Ich habe eine String-Liste wie;Überprüfen Sie, ob eine String-Liste ein Element enthält

public static readonly List<string> myList = new List<string> 
{ 
    "123", 
    "456", 
    "789" 
}; 

Und ich habe eine Methode, sagen wir MethodX (String). MethodX (Zeichenfolge) sucht nach und vergleicht die eingegebene Zeichenfolge in einer anderen Zeichenfolge, die von API stammt. Sie gibt true zurück, wenn eine eingegebene Zeichenfolge mit einer beliebigen Zeichenfolge aus der Liste übereinstimmt.

Jetzt was ich tue ist;

var y = myList; 
foreach (var x in y) 
{ 
    var asd = me.MethodX(x); 
    if (asd == true) 
    { 
     // Do stuff 
    } 
} 

Ich möchte jedes Mitglied der String-Liste MethodX() eingeben und prüfen, ob es wahr ist. Aber momentan versucht es nur "123" als erstes Mitglied von myList.

Wie kann ich es geschehen lassen?

+0

Wäre es nicht so etwas wie myList.Any (str => MethodX (str)) arbeiten? In Ihrem Beispielcode verwenden Sie ungeschickt MethodX und übergeben eine Liste und keine Zeichenfolge. Akzeptiert es eine Zeichenfolge oder eine Liste von Zeichenfolgen? –

+0

@WhaleSong es akzeptiert nur String, aber da es eine Liste ist, verwende ich es innerhalb von foreach. Also sollte es nach jedem Mitglied suchen, denke ich? – Emir

+0

Es sieht dann richtig aus! –

Antwort

0
bool MethodX(this List<string>,string x) 
{ 
    return this.Any(s=>s==x); 
} 
Verwandte Themen