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.SingleOrDefault<TSource>-Methode: (IEnumerable<TSource>, Func<TSource, Boolean>)

 

Veröffentlicht: Oktober 2016

Gibt das einzige Element einer Sequenz, das eine angegebene Bedingung erfüllt, oder einen Standardwert zurück, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehrere Elemente die Bedingung erfüllen.

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

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

Parameter

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

Ein IEnumerable<T> ein einzelnes Element zurückgeben.

predicate
Type: System.Func<TSource, Boolean>

Eine Funktion zum Überprüfen eines Elements auf eine Bedingung.

Rückgabewert

Type: TSource

Das einzige Element der Eingabesequenz, das die Bedingung erfüllt oder default(TSource), wenn kein solches Element gefunden wird.

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 SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) das einzige Element eines Arrays auswählen, das eine Bedingung erfüllt.

string[] fruits = { "apple", "banana", "mango", 
                      "orange", "passionfruit", "grape" };

string fruit1 = fruits.SingleOrDefault(fruit => fruit.Length > 10);

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 passionfruit
*/

Im folgenden Codebeispiel wird veranschaulicht, dass SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) Gibt einen Standardwert zurück, wenn die Sequenz nicht genau ein Element enthält, das die Bedingung erfüllt.

string fruit2 =
    fruits.SingleOrDefault(fruit => fruit.Length > 15);

Console.WriteLine(
    String.IsNullOrEmpty(fruit2) ? "No such string!" : fruit2);

/*
 This code produces the following output:

 No such string!
*/

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: