Enumerable.Single Metoda

Definicja

Zwraca pojedynczy, konkretny element sekwencji.Returns a single, specific element of a sequence.

Przeciążenia

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

Zwraca jedyny element sekwencji, który spełnia określony warunek, i zgłasza wyjątek, jeśli istnieje więcej niż jeden taki element.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>)

Zwraca jedyny element sekwencji i zgłasza wyjątek, jeśli nie ma dokładnie jednego elementu w sekwencji.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>)

Zwraca jedyny element sekwencji, który spełnia określony warunek, i zgłasza wyjątek, jeśli istnieje więcej niż jeden taki element.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 elementów source.The type of the elements of source.

Parametry

source
IEnumerable<TSource>

@No__t_0 zwrócić pojedynczego elementu z.An IEnumerable<T> to return a single element from.

predicate
Func<TSource,Boolean>

Funkcja do testowania elementu dla warunku.A function to test an element for a condition.

Zwraca

TSource

Pojedynczy element sekwencji wejściowej, który spełnia warunek.The single element of the input sequence that satisfies a condition.

Wyjątki

source lub predicate jest null.source or predicate is null.

Żaden element nie spełnia warunku w predicate.No element satisfies the condition in predicate.

—lub—-or- Więcej niż jeden element spełnia warunek w predicate.More than one element satisfies the condition in predicate.

—lub—-or- Sekwencja źródłowa jest pusta.The source sequence is empty.

Przykłady

Poniższy przykład kodu demonstruje, jak za pomocą Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) wybrać tylko element tablicy, który spełnia warunek.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.
MsgBox("First query: " & result)

Poniższy przykład kodu demonstruje, że Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) zgłasza wyjątek, gdy sekwencja nie zawiera dokładnie jednego elementu, który spełnia warunek.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.
MsgBox("Second query: " & result)

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

Uwagi

Metoda Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) zgłasza wyjątek, jeśli sekwencja wejściowa nie zawiera pasującego elementu.The Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method throws an exception if the input sequence contains no matching element. Aby zamiast tego zwrócić null, gdy nie znaleziono pasującego elementu, użyj SingleOrDefault.To instead return null when no matching element is found, use SingleOrDefault.

Single<TSource>(IEnumerable<TSource>)

Zwraca jedyny element sekwencji i zgłasza wyjątek, jeśli nie ma dokładnie jednego elementu w sekwencji.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 elementów source.The type of the elements of source.

Parametry

source
IEnumerable<TSource>

@No__t_0 zwrócić pojedynczego elementu.An IEnumerable<T> to return the single element of.

Zwraca

TSource

Pojedynczy element sekwencji wejściowej.The single element of the input sequence.

Wyjątki

source jest null.source is null.

Sekwencja wejściowa zawiera więcej niż jeden element.The input sequence contains more than one element.

—lub—-or-

Sekwencja wejściowa jest pusta.The input sequence is empty.

Przykłady

Poniższy przykład kodu demonstruje, jak używać Single<TSource>(IEnumerable<TSource>) do zaznaczania samego elementu tablicy.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.
MsgBox("First query: " & result)

Poniższy przykład kodu demonstruje, że Single<TSource>(IEnumerable<TSource>) zgłasza wyjątek, gdy sekwencja nie zawiera dokładnie jednego elementu.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.
MsgBox("Second query: " & result)

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

Uwagi

Metoda Single<TSource>(IEnumerable<TSource>) zgłasza wyjątek, jeśli sekwencja wejściowa jest pusta.The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. Aby zamiast tego zwracać null, gdy sekwencja wejściowa jest pusta, użyj SingleOrDefault.To instead return null when the input sequence is empty, use SingleOrDefault.

Dotyczy