Verwenden Sie LINQ effizient, um die Beziehung zwischen Array-Teilmengen zu bestimmen
Die Feststellung, ob ein Array eine Teilmenge eines anderen Arrays ist, ist eine häufige Programmieraufgabe. Hier bezieht sich Teilmenge auf eine Menge, deren alle Elemente im übergeordneten Array vorhanden sind. Diese Beziehung kann mithilfe der Leistungsfähigkeit von LINQ (Language Integrated Query) effizient ermittelt werden.
Angenommen, wir haben zwei Listen:
<code>List<double> t1 = new List<double> { 1, 3, 5 }; List<double> t2 = new List<double> { 1, 5 };</code>
Unser Ziel ist es, mithilfe von LINQ zu bestimmen, ob t2 eine Teilmenge von t1 ist.
Dazu können wir den Operator Except
verwenden, um Elemente in t1 auszuschließen, die in t2 nicht vorhanden sind. Wenn die resultierende Liste leer ist, bedeutet dies, dass jedes Element in t2 in t1 vorhanden ist, was darauf hinweist, dass t2 tatsächlich eine Teilmenge von t1 ist.
Der folgende LINQ-Ausdruck kapselt diese Logik:
<code>bool isSubset = !t2.Except(t1).Any();</code>
Wenn der Wert von isSubset
true
ist, dann wird bestätigt, dass t2 eine Teilmenge von t1 ist. Im Gegenteil, wenn isSubset
false
ist, dann ist t2 keine Teilmenge von t1.
Da in unserem Beispiel jedes Element in t2 (d. h. 1 und 5) auch in t1 vorhanden ist, erzeugt die Except
-Operation eine leere Liste und der Ausdruck wird zu true
ausgewertet, wodurch bestätigt wird, dass t2 eine Teilmenge ist von t1.
Das obige ist der detaillierte Inhalt vonWie kann LINQ effizient bestimmen, ob ein Array eine Teilmenge eines anderen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!