Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Enumerable.LastOrDefault<TSource>-Methode (IEnumerable<TSource>, Func<TSource, Boolean>)

Aktualisiert: November 2007

Gibt das letzte Element einer Sequenz zurück, das eine Bedingung erfüllt, oder einen Standardwert, wenn ein solches Element nicht gefunden wird.

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

public static TSource LastOrDefault<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

J# unterstützt die Verwendung von generischen APIs, aber nicht die Deklaration von neuen generischen APIs.
JScript unterstützt keine generischen Typen oder Methoden.

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
Typ: System.Collections.Generic.IEnumerable<TSource>
Ein IEnumerable<T>, aus dem ein Element zurückgegeben werden soll.
predicate
Typ: System.Func<TSource, Boolean>
Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.

Rückgabewert

Typ: TSource
default(TSource), wenn die Sequenz leer ist oder wenn keine Elemente von der Prädikatfunktion erfolgreich überprüft werden. Andernfalls das letzte Element, das von der Prädikatfunktion erfolgreich überprüft wird.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IEnumerable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) und Erweiterungsmethoden (C#-Programmierhandbuch).

AusnahmeBedingung
ArgumentNullException

source oder predicate ist null.

Der Standardwert für Referenztypen und Typen, die NULL-Werte zulassen, ist null.

Im folgenden Codebeispiel wird die Verwendung von LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) durch Übergeben eines Prädikats veranschaulicht. Im zweiten Aufruf der Methode enthält die Sequenz kein Element, das die Bedingung erfüllt.

double[] numbers = { 49.6, 52.3, 51.0, 49.4, 50.2, 48.3 };

double last50 = numbers.LastOrDefault(n => Math.Round(n) == 50.0);

Console.WriteLine("The last number that rounds to 50 is {0}.", last50);

double last40 = numbers.LastOrDefault(n => Math.Round(n) == 40.0);

Console.WriteLine(
    "The last number that rounds to 40 is {0}.",
    last40 == 0.0 ? "<DOES NOT EXIST>" : last40.ToString());

/*
 This code produces the following output:

 The last number that rounds to 50 is 50.2.
 The last number that rounds to 40 is <DOES NOT EXIST>.
*/



Windows Vista, Windows XP SP2, Windows Server 2003, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5

.NET Compact Framework

Unterstützt in: 3.5
Anzeigen: