Enumerable.Single Enumerable.Single Enumerable.Single Enumerable.Single Method

Definição

Retorna um único elemento específico de uma sequência.Returns a single, specific element of a sequence.

Sobrecargas

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

Retorna o único elemento de uma sequência que satisfaz uma condição especificada e gera uma exceção se houver mais de um tal elemento.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>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>)

Retornará o único elemento de uma sequência e lançará uma exceção se não houver exatamente um elemento na sequência.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>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o único elemento de uma sequência que satisfaz uma condição especificada e gera uma exceção se houver mais de um tal elemento.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

Parâmetros de tipo

TSource

O tipo dos elementos de source.The type of the elements of source.

Parâmetros

source
IEnumerable<TSource>

Um IEnumerable<T> do qual retornar um único elemento.An IEnumerable<T> to return a single element from.

predicate
Func<TSource,Boolean>

Uma função para testar um elemento em relação a uma condição.A function to test an element for a condition.

Retornos

TSource TSource TSource TSource

O único elemento da sequência de entrada que atende a uma condição.The single element of the input sequence that satisfies a condition.

Exceções

source ou predicate é null.source or predicate is null.

Nenhum elemento satisfaz a condição na predicate.No element satisfies the condition in predicate.

- ou --or- Mais de um elemento satisfaz a condição na predicate.More than one element satisfies the condition in predicate.

- ou --or- Uma sequência de origem está vazia.The source sequence is empty.

Exemplos

O exemplo de código a seguir demonstra como usar Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) para selecionar o único elemento de uma matriz que satisfaz uma condição.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)

O exemplo de código a seguir demonstra que Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) lança uma exceção quando a sequência não contém exatamente um elemento que satisfaz a condição.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.

Comentários

O Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) método lança uma exceção se a sequência de entrada não contém elementos correspondentes.The Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method throws an exception if the input sequence contains no matching element. Em vez disso, retornar null quando nenhum elemento correspondente for encontrado, use SingleOrDefault.To instead return null when no matching element is found, use SingleOrDefault.

Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>) Single<TSource>(IEnumerable<TSource>)

Retornará o único elemento de uma sequência e lançará uma exceção se não houver exatamente um elemento na sequência.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

Parâmetros de tipo

TSource

O tipo dos elementos de source.The type of the elements of source.

Parâmetros

source
IEnumerable<TSource>

Um IEnumerable<T> do qual o único elemento será retornado.An IEnumerable<T> to return the single element of.

Retornos

TSource TSource TSource TSource

O único elemento de uma sequência de entrada.The single element of the input sequence.

Exceções

A sequência de entrada contém mais de um elemento.The input sequence contains more than one element.

- ou --or- A sequência de entrada está vazia.The input sequence is empty.

Exemplos

O exemplo de código a seguir demonstra como usar Single<TSource>(IEnumerable<TSource>) para selecionar o único elemento de uma matriz.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)

O exemplo de código a seguir demonstra que Single<TSource>(IEnumerable<TSource>) lança uma exceção quando a sequência não contém exatamente um elemento.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.

Comentários

O Single<TSource>(IEnumerable<TSource>) método lança uma exceção se a sequência de entrada está vazia.The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. Em vez disso, retornar null quando a sequência de entrada estiver vazia, use SingleOrDefault.To instead return null when the input sequence is empty, use SingleOrDefault.

Aplica-se a