Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Enumerable.Single<TSource>(IEnumerable<TSource>)

 

Publicado: octubre de 2016

Devuelve el único elemento de una secuencia y produce una excepción si no hay exactamente un elemento en la secuencia.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static TSource Single<TSource>(
	this IEnumerable<TSource> source
)

Parámetros

source
Type: System.Collections.Generic.IEnumerable<TSource>

Un IEnumerable<T> para devolver el único elemento.

Valor devuelto

Type: TSource

El único elemento de la secuencia de entrada.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source es null.

InvalidOperationException

La secuencia de entrada contiene más de un elemento.

-o-

La secuencia de entrada está vacía.

El Single<TSource>(IEnumerable<TSource>) método produce una excepción si la secuencia de entrada está vacía. En su lugar devolver null cuando la secuencia de entrada está vacía, utilice SingleOrDefault<TSource>.

En el ejemplo de código siguiente se muestra cómo utilizar Single<TSource>(IEnumerable<TSource>) para seleccionar el único elemento de una matriz.

string[] fruits1 = { "orange" };

string fruit1 = fruits1.Single();

Console.WriteLine(fruit1);

/*
 This code produces the following output:

 orange
*/

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

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.
*/

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: