Enumerable.Single Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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
.
Parámetros
- source
- IEnumerable<TSource>
IEnumerable<T> del que se va a devolver un único elemento.
Devoluciones
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.
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.
Console.WriteLine($"First query: {result}")
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.
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.
Console.WriteLine($"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. Para devolver null
en su lugar cuando no se encuentra ningún elemento coincidente, use SingleOrDefault.
Se aplica a
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.
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
.
Parámetros
- source
- IEnumerable<TSource>
IEnumerable<T> cuyo único elemento se va a devolver.
Devoluciones
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.
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.
Console.WriteLine($"First query: {result}")
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.
*/
' 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.
Console.WriteLine($"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. Para devolver null
en su lugar cuando la secuencia de entrada está vacía, use SingleOrDefault.