Heim >Backend-Entwicklung >C++ >Wie verwende ich Contains() mit einem String-Array in LINQ-Abfragen?
So ersetzen Sie „Contains(string)“ durch „Contains(string[]) in LINQ-Abfragen
In LINQ kann die Methode „Contains()“ Folgendes tun kann verwendet werden, um zu überprüfen, ob eine Sammlung ein bestimmtes Element enthält. Standardmäßig akzeptiert die Methode „Contains()“ einen einzelnen String-Parameter, aber was ist, wenn Sie einen Vergleich mit einem Array von Strings durchführen müssen?
Frage:
Ich habe einen LINQ-Abfrage, die so aussieht:
from xx in table where xx.uid.ToString().Contains(string[]) select xx
Die Werte im Array string[] sind Zahlen (z. B. 1, 45, 20, 10). Ich möchte die Methode „Contains()“ verwenden, um zu überprüfen, ob die Eigenschaft „xx.uid“ (die eine Zahl ist) im Array vorhanden ist. Wie kann ich das machen?
Antwort:
Um xx.uid mit einem Array von Strings zu vergleichen, können Sie die Methode „Contains(string)“ nicht direkt verwenden. Stattdessen müssen Sie das Array string[] in eine Sammlung konvertieren, die die Methode Contains() unterstützt. Hier sind zwei Ansätze:
Konvertieren Sie das Array string[] in ein List
var uids = new List<string>(stringArray); var selected = table.Where(t => uids.Contains(t.uid.ToString()));
Wenn uid auch eine Ganzzahl ist, können Sie das Array string[] in ein List
var uids = stringArray.Select(int.Parse).ToList(); var selected = table.Where(t => uids.Contains(t.uid));
Erweiterungsmethode (optional):
Sie können auch eine Erweiterungsmethode für die Zeichenfolge erstellen[ ]-Typ, um eine Methode „Contains()“ bereitzustellen, die ein Zeichenfolgenargument akzeptiert:
public static bool Contains(this string[] arr, string value) { return arr.Any(s => s == value); }
Mit dieser Erweiterungsmethode können Sie die Methode „Contains()“ direkt für die verwenden string[]-Array:
var selected = table.Where(t => stringArray.Contains(t.uid.ToString()));
Das obige ist der detaillierte Inhalt vonWie verwende ich Contains() mit einem String-Array in LINQ-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!