C # Unterschied zwischen First () und Find ()

Also ich weiß, dass Find() ist nur ein List<T> Methode, in der Erwägung, dass First() ist eine Erweiterung für alle IEnumerable<T>. Ich weiß auch, dass First() wird das erste element zurückzugeben, wenn kein parameter übergeben wird, in der Erwägung, dass Find() wird eine exception werfen. Schließlich weiß ich, dass First() wird eine Ausnahme ausgelöst, wenn das element nicht gefunden, wohingegen Find() zurück, geben Sie den Standardwert.

Ich hoffe, das klärt die Verwirrung über das, was ich wirklich bin, zu Fragen. Dies ist eine informatik Frage, und die beschäftigt sich mit diesen Methoden auf die rechnerische Ebene. Ich bin gekommen, zu verstehen, dass IEnumerable<T> Erweiterungen nicht immer funktionieren, wie man erwarten würde, unter der Haube. So, hier ist der Q, und ich meine, von einem "nahe am Metall" Standpunkt: Was ist der Unterschied zwischen Find() und First()?

Hier finden Sie den code, um grundlegende Annahmen für den Betrieb unter diese Frage.

var l = new List<int> { 1, 2, 3, 4, 5 };
var x = l.First(i => i == 3);
var y = l.Find(i => i == 3);

Ist es, die tatsächliche rechnerische Differenz zwischen dem, wie First() und Find() entdecken Sie Ihre Werte in dem code oben?

Beachten Sie: Lassen Sie uns ignorieren Dinge wie AsParallel() und AsQueryable() für jetzt.

InformationsquelleAutor der Frage Squirrelsama | 2010-12-06

Schreibe einen Kommentar