Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

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

 

Veröffentlicht: Oktober 2016

Gibt das erste Element der 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 FirstOrDefault<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

Parameter

source
Type: System.Collections.Generic.IEnumerable<TSource>

Ein IEnumerable<T> ein Element zurückgegeben.

predicate
Type: System.Func<TSource, Boolean>

Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.

Rückgabewert

Type: TSource

default(TSource) Wenn source leer ist oder wenn kein Element vom angegebenen Test besteht predicateist, andernfalls das erste Element im source übergibt die Prüfung von predicate.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source oder predicate ist null.

Der Standardwert für Referenztypen und Typen ist null.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) durch Übergeben eines Prädikats. Im zweiten Aufruf der Methode ist gibt es kein Element im Array, das die Bedingung erfüllt.

string[] names = { "Hartono, Tommy", "Adams, Terry", 
                     "Andersen, Henriette Thaulow", 
                     "Hedlund, Magnus", "Ito, Shu" };

string firstLongName = names.FirstOrDefault(name => name.Length > 20);

Console.WriteLine("The first long name is '{0}'.", firstLongName);

string firstVeryLongName = names.FirstOrDefault(name => name.Length > 30);

Console.WriteLine(
    "There is {0} name longer than 30 characters.",
    string.IsNullOrEmpty(firstVeryLongName) ? "not a" : "a");

/*
 This code produces the following output:

 The first long name is 'Andersen, Henriette Thaulow'.
 There is not a name longer than 30 characters.
*/

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: