Enumerable.Single Metoda

Definice

Vrátí jeden konkrétní prvek sekvence.Returns a single, specific element of a sequence.

Přetížení

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

Vrátí jediný prvek sekvence, který splňuje zadanou podmínku, a vyvolá výjimku, pokud existuje více než jeden takový prvek.Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.

Single<TSource>(IEnumerable<TSource>)

Vrátí jediný prvek sekvence a vyvolá výjimku, pokud v sekvenci není přesně jeden prvek.Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.

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

Vrátí jediný prvek sekvence, který splňuje zadanou podmínku, a vyvolá výjimku, pokud existuje více než jeden takový prvek.Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Single(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member Single : seq<'Source> * Func<'Source, bool> -> 'Source
<Extension()>
Public Function Single(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As TSource

Parametry typu

TSource

Typ prvků source .The type of the elements of source.

Parametry

source
IEnumerable<TSource>

IEnumerable<T>A vrátí jeden prvek z.An IEnumerable<T> to return a single element from.

predicate
Func<TSource,Boolean>

Funkce pro otestování prvku pro podmínku.A function to test an element for a condition.

Návraty

TSource

Jediný prvek vstupní sekvence, která splňuje podmínku.The single element of the input sequence that satisfies a condition.

Výjimky

source nebo predicate je null .source or predicate is null.

Žádný element nesplňuje podmínky v predicate .No element satisfies the condition in predicate.

-nebo--or- Podmínka v prvku splňuje více než jeden prvek predicate .More than one element satisfies the condition in predicate.

-nebo--or- Zdrojová sekvence je prázdná.The source sequence is empty.

Příklady

Následující příklad kódu ukazuje, jak použít Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) k výběru jediného prvku pole, které splňuje podmínku.The following code example demonstrates how to use Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) to select the only element of an array that satisfies a condition.

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
*/
' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Get the single item in the array whose length is greater than 10.
Dim result As String =
fruits.Single(Function(fruit) fruit.Length > 10)

' Display the result.
Console.WriteLine($"First query: {result}")

Následující příklad kódu ukazuje, že Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) vyvolá výjimku, pokud sekvence neobsahuje přesně jeden prvek, který splňuje podmínku.The following code example demonstrates that Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) throws an exception when the sequence does not contain exactly one element that satisfies the condition.

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.
result = String.Empty

' Try to get the single item in the array whose length is > 15.
Try
    result = fruits.Single(Function(fruit) _
                           fruit.Length > 15)
Catch ex As System.InvalidOperationException
    result = "There is not EXACTLY ONE element whose length is > 15."
End Try

' Display the result.
Console.WriteLine($"Second query: {result}")

' This code produces the following output:
'
' First query: passionfruit
' Second query: There is not EXACTLY ONE element whose length is > 15.

Poznámky

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)Metoda vyvolá výjimku, pokud vstupní sekvence neobsahuje žádný vyhovující element.The Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method throws an exception if the input sequence contains no matching element. Chcete-li místo toho vracet null , pokud není nalezen žádný vyhovující element, použijte SingleOrDefault .To instead return null when no matching element is found, use SingleOrDefault.

Single<TSource>(IEnumerable<TSource>)

Vrátí jediný prvek sekvence a vyvolá výjimku, pokud v sekvenci není přesně jeden prvek.Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Single(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member Single : seq<'Source> -> 'Source
<Extension()>
Public Function Single(Of TSource) (source As IEnumerable(Of TSource)) As TSource

Parametry typu

TSource

Typ prvků source .The type of the elements of source.

Parametry

source
IEnumerable<TSource>

IEnumerable<T>A vrátí jeden prvek.An IEnumerable<T> to return the single element of.

Návraty

TSource

Jediný prvek vstupní sekvence.The single element of the input sequence.

Výjimky

source je null.source is null.

Vstupní sekvence obsahuje více než jeden prvek.The input sequence contains more than one element.

-nebo--or-

Vstupní sekvence je prázdná.The input sequence is empty.

Příklady

Následující příklad kódu ukazuje, jak použít Single<TSource>(IEnumerable<TSource>) k výběru jediného prvku pole.The following code example demonstrates how to use Single<TSource>(IEnumerable<TSource>) to select the only element of an array.

string[] fruits1 = { "orange" };

string fruit1 = fruits1.Single();

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 orange
*/
' Create an array that contains one item.
Dim fruits1() As String = {"orange"}

' Get the single item in the array.
Dim result As String = fruits1.Single()

' Display the result.
Console.WriteLine($"First query: {result}")

Následující příklad kódu ukazuje, že Single<TSource>(IEnumerable<TSource>) vyvolá výjimku, pokud sekvence neobsahuje přesně jeden element.The following code example demonstrates that Single<TSource>(IEnumerable<TSource>) throws an exception when the sequence does not contain exactly one element.

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.
*/
' Create an array that contains two items.
Dim fruits2() As String = {"orange", "apple"}

result = String.Empty

' Try to get the 'single' item in the array.
Try
    result = fruits2.Single()
Catch ex As System.InvalidOperationException
    result = "The collection does not contain exactly one element."
End Try

' Display the result.
Console.WriteLine($"Second query: {result}")

' This code produces the following output:
'
' First query: orange
' Second query: The collection does not contain exactly one element.

Poznámky

Single<TSource>(IEnumerable<TSource>)Metoda vyvolá výjimku, pokud je vstupní sekvence prázdná.The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. Chcete-li místo toho vracet null vstupní sekvenci, použijte SingleOrDefault .To instead return null when the input sequence is empty, use SingleOrDefault.

Platí pro