Leer en inglés

Compartir a través de


Enumerable.Single Método

Definición

Devuelve un único elemento concreto de una secuencia.

Sobrecargas

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.

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.

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

Source:
Single.cs
Source:
Single.cs
Source:
Single.cs

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.

C#
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> del que se va a devolver un único elemento.

predicate
Func<TSource,Boolean>

Función que va a probar si un elemento satisface una condición.

Devoluciones

TSource

El único elemento de la secuencia de entrada que satisface una condición.

Excepciones

source o predicate es null.

Ningún elemento satisface la condición de predicate.

o bien

Varios elementos satisfacen la condición de predicate.

o bien

La secuencia de origen está vacía.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) para seleccionar el único elemento de una matriz que cumpla una condición.

C#
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
*/

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

C#
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.

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. Para devolver null en su lugar cuando no se encuentra ningún elemento coincidente, use SingleOrDefault.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Single<TSource>(IEnumerable<TSource>)

Source:
Single.cs
Source:
Single.cs
Source:
Single.cs

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

C#
public static TSource Single<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> cuyo único elemento se va a devolver.

Devoluciones

TSource

El único elemento de la secuencia de entrada.

Excepciones

source es null.

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

o bien

La secuencia de entrada está vacía.

Ejemplos

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

C#
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.

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

Comentarios

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

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0