497 Stimmen

LINQ .Any VS .Exists - Was ist der Unterschied?

Was ist der Unterschied zwischen den folgenden Codezeilen, die LINQ on Collections verwenden?

if(!coll.Any(i => i.Value))

und

if(!coll.Exists(i => i.Value))

Aktualisierung 1

Wenn ich zerlege .Exists es sieht so aus, als gäbe es keinen Code.

Aktualisierung 2

Weiß jemand, warum es dafür keinen Code gibt?

10 Stimmen

Wie sieht der von Ihnen kompilierte Code aus? Wie haben Sie disassembliert? ildasm? Was haben Sie erwartet zu finden, aber nicht gefunden?

5voto

flq Punkte 21455

Außerdem funktioniert dies nur, wenn Value vom Typ bool ist. Normalerweise wird dies bei Prädikaten verwendet. Jedes Prädikat wird im Allgemeinen verwendet, um herauszufinden, ob es ein Element gibt, das eine bestimmte Bedingung erfüllt. Hier führen Sie lediglich eine Abbildung von Ihrem Element i auf eine bool-Eigenschaft durch. Es wird nach einem "i" gesucht, dessen Value-Eigenschaft true ist. Sobald dies geschehen ist, gibt die Methode true zurück.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X