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

Definición

Devuelve un único elemento concreto de una secuencia.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>)

Devuelve el único elemento de una secuencia que cumpla una condición especificada y produce una excepción si existe más de un elemento de este tipo.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>)

Devuelve el único elemento de una secuencia y produce una excepción si no hay exactamente un elemento en la secuencia.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>)

Devuelve el único elemento de una secuencia que cumpla una condición especificada y produce una excepción si existe más de un elemento de este tipo.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

Tipo de los elementos de source.The type of the elements of source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> del que se va a devolver un único elemento.An IEnumerable<T> to return a single element from.

predicate
Func<TSource,Boolean>

Función que va a probar si un elemento satisface una condición.A function to test an element for a condition.

Devoluciones

TSource TSource TSource TSource

El único elemento de la secuencia de entrada que satisface una condición.The single element of the input sequence that satisfies a condition.

Excepciones

source o predicate es null.source or predicate is null.

Ningún elemento satisface la condición de predicate.No element satisfies the condition in predicate.

O bien-or- Varios elementos satisfacen la condición de predicate.More than one element satisfies the condition in predicate.

O bien-or- La secuencia de origen está vacía.The source sequence is empty.

Ejemplos

En el ejemplo de código siguiente se muestra Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) cómo utilizar para seleccionar el único elemento de una matriz que satisface una condición.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)

En el ejemplo de código siguiente Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) se muestra que produce una excepción cuando la secuencia no contiene exactamente un elemento que cumpla la condición.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.

Comentarios

El Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) método produce una excepción si la secuencia de entrada no contiene ningún elemento coincidente.The Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) method throws an exception if the input sequence contains no matching element. Para devolver null en su lugar cuando no se encuentra ningún elemento coincidente SingleOrDefault, use.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>)

Devuelve el único elemento de una secuencia y produce una excepción si no hay exactamente un elemento en la secuencia.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

Tipo de los elementos de source.The type of the elements of source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> cuyo único elemento se va a devolver.An IEnumerable<T> to return the single element of.

Devoluciones

TSource TSource TSource TSource

El único elemento de la secuencia de entrada.The single element of the input sequence.

Excepciones

La secuencia de entrada contiene más de un elemento.The input sequence contains more than one element.

O bien-or-

La secuencia de entrada está vacía.The input sequence is empty.

Ejemplos

En el ejemplo de código siguiente se muestra Single<TSource>(IEnumerable<TSource>) cómo utilizar para seleccionar el único elemento de una 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)

En el ejemplo de código siguiente Single<TSource>(IEnumerable<TSource>) se muestra que produce una excepción cuando la secuencia no contiene exactamente un 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.

Comentarios

El Single<TSource>(IEnumerable<TSource>) método produce una excepción si la secuencia de entrada está vacía.The Single<TSource>(IEnumerable<TSource>) method throws an exception if the input sequence is empty. Para devolver null en su lugar cuando la secuencia de entrada está vacía SingleOrDefault, use.To instead return null when the input sequence is empty, use SingleOrDefault.

Se aplica a