Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Enumerable.Single<TSource>-Methode (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.

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

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
Typ: System.Collections.Generic.IEnumerable<TSource>
Ein IEnumerable<T>, aus dem ein einzelnes Element zurückgegeben werden soll.
predicate
Typ: System.Func<TSource, Boolean>
Eine Funktion zum Überprüfen eines Elements auf eine Bedingung.

Rückgabewert

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

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.

InvalidOperationException

Kein Element erfüllt die Bedingung in predicate.

- oder -

Die Bedingung in predicate wird von mehreren Elementen erfüllt

- oder -

Die Quellsequenz ist leer.

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

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mit Single<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.Single(fruit => fruit.Length > 10);

            Console.WriteLine(fruit1);

            /*
             This code produces the following output:

             passionfruit
            */



Im folgenden Codebeispiel wird gezeigt, 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.


            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.



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft