Verwenden Sie LINQ, um die Beziehung zwischen Array-Teilmengen zu bestimmen
Beim Umgang mit Arrays oder Listen muss häufig überprüft werden, ob ein Array eine Teilmenge eines anderen Arrays ist. In diesem Zusammenhang bezieht sich eine „Teilmenge“ auf eine Menge, die alle Elemente einer anderen Menge enthält.
Stellen Sie sich beispielsweise das folgende Szenario vor:
<code class="language-csharp">List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
Wir müssen bestimmen, ob t2 eine Teilmenge von t1 ist. Hierzu können wir die Funktionalität von LINQ (Language Integrated Query) in C# nutzen.
LINQ bietet eine einfache und übersichtliche Möglichkeit, Set-Operationen für Sammlungen durchzuführen. Eine dieser Operationen ist die Methode Except
, die Elemente ausschließt, die auch in einer anderen Sammlung vorhanden sind.
Um zu überprüfen, ob t2 eine Teilmenge von t1 ist, können wir die Methode Except
wie folgt verwenden:
<code class="language-csharp">bool isSubset = !t2.Except(t1).Any();</code>
Der Code funktioniert wie folgt:
Except
wird eine neue Sequenz erstellt, die nur Elemente in t2 enthält, die in t1 nicht vorhanden sind. Any
auf diese resultierende Sequenz angewendet, um zu prüfen, ob Elemente vorhanden sind. !
-Operator wird verwendet, um das Ergebnis von Any
zu negieren. Das heißt, wenn die resultierende Sequenz leer ist (d. h. es sind keine Elemente vorhanden, was darauf hinweist, dass t2 eine Teilmenge von t1 ist), dann true
wird zurückgegeben. Das obige ist der detaillierte Inhalt vonWie kann LINQ feststellen, ob ein Array eine Teilmenge eines anderen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!