Auf Englisch lesen

Freigeben über


Enumerable.Single Methode

Definition

Gibt ein einzelnes spezifisches Element einer Sequenz zurück

Überlädt

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Gibt das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehrere solche Elemente vorhanden sind.

Single<TSource>(IEnumerable<TSource>)

Gibt das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist.

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Quelle:
Single.cs
Quelle:
Single.cs
Quelle:
Single.cs

Gibt das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehrere solche Elemente vorhanden sind.

C#
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Ein IEnumerable<T>, aus dem ein einzelnes Element zurückgegeben werden soll

predicate
Func<TSource,Boolean>

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

Gibt zurück

TSource

Das einzige Element der Eingabesequenz, das eine Bedingung erfüllt.

Ausnahmen

source oder predicate ist null.

Kein Element erfüllt die Bedingung in predicate.

- oder -

Die Bedingung in predicate wird von mehreren Elementen erfüllt.

- oder -

Die Quellsequenz ist leer.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) , um das einzige Element eines Arrays auszuwählen, das eine Bedingung erfüllt.

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

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

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 passionfruit
*/

Im folgenden Codebeispiel wird veranschaulicht, dass Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) eine Ausnahme auslöst, wenn die Sequenz nicht genau ein Element enthält, das die Bedingung erfüllt.

C#
string fruit2 = null;

try
{
    fruit2 = fruits.Single(fruit => fruit.Length > 15);
}
catch (System.InvalidOperationException)
{
    Console.WriteLine(@"The collection does not contain exactly
                    one element whose length is greater than 15.");
}

Console.WriteLine(fruit2);

// This code produces the following output:
//
// The collection does not contain exactly
// one element whose length is greater than 15.

Hinweise

Die Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) -Methode löst eine Ausnahme aus, wenn die Eingabesequenz kein übereinstimmende Element enthält. Um stattdessen zurückzugeben null , wenn kein übereinstimmende Element gefunden wird, verwenden Sie SingleOrDefault.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Single<TSource>(IEnumerable<TSource>)

Quelle:
Single.cs
Quelle:
Single.cs
Quelle:
Single.cs

Gibt das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist.

C#
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Ein IEnumerable<T>, dessen einziges Element zurückgegeben werden soll

Gibt zurück

TSource

Das einzige Element der Eingabesequenz.

Ausnahmen

source ist null.

Die Eingabesequenz enthält mehr als ein Element.

- oder -

Die Eingabesequenz ist leer.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Single<TSource>(IEnumerable<TSource>) , um das einzige Element eines Arrays auszuwählen.

C#
string[] fruits1 = { "orange" };

string fruit1 = fruits1.Single();

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 orange
*/

Im folgenden Codebeispiel wird veranschaulicht, dass Single<TSource>(IEnumerable<TSource>) eine Ausnahme auslöst, wenn die Sequenz nicht genau ein Element enthält.

C#
string[] fruits2 = { "orange", "apple" };
string fruit2 = null;

try
{
    fruit2 = fruits2.Single();
}
catch (System.InvalidOperationException)
{
    Console.WriteLine("The collection does not contain exactly one element.");
}

Console.WriteLine(fruit2);

/*
 This code produces the following output:

 The collection does not contain exactly one element.
*/

Hinweise

Die Single<TSource>(IEnumerable<TSource>) -Methode löst eine Ausnahme aus, wenn die Eingabesequenz leer ist. Um stattdessen zurückzugeben null , wenn die Eingabesequenz leer ist, verwenden Sie SingleOrDefault.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0