Ler en inglés

Compartir por


Enumerable.Empty<TResult> Método

Definición

Devuelve una interfaz IEnumerable<T> vacía que tiene el argumento de tipo especificado.

C#
public static System.Collections.Generic.IEnumerable<TResult> Empty<TResult> ();

Parámetros de tipo

TResult

Tipo que se va a asignar al parámetro de tipo de la interfaz IEnumerable<T> genérica devuelta.

Devoluciones

IEnumerable<TResult>

Una interfaz IEnumerable<T> vacía cuyo argumento de tipo es TResult.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Empty<TResult>() para generar un objeto vacío IEnumerable<T>.

C#
IEnumerable<decimal> empty = Enumerable.Empty<decimal>();

En el ejemplo de código siguiente se muestra una posible aplicación del Empty<TResult>() método . El Aggregate método se aplica a una colección de matrices de cadenas. Los elementos de cada matriz de la colección se agregan al resultado IEnumerable<T> solo si esa matriz contiene cuatro o más elementos. Empty se usa para generar el valor de inicialización para Aggregate porque si ninguna matriz de la colección tiene cuatro o más elementos, solo se devuelve la secuencia vacía.

C#
string[] names1 = { "Hartono, Tommy" };
string[] names2 = { "Adams, Terry", "Andersen, Henriette Thaulow",
                      "Hedlund, Magnus", "Ito, Shu" };
string[] names3 = { "Solanki, Ajay", "Hoeing, Helge",
                      "Andersen, Henriette Thaulow",
                      "Potra, Cristina", "Iallo, Lucio" };

List<string[]> namesList =
    new List<string[]> { names1, names2, names3 };

// Only include arrays that have four or more elements
IEnumerable<string> allNames =
    namesList.Aggregate(Enumerable.Empty<string>(),
    (current, next) => next.Length > 3 ? current.Union(next) : current);

foreach (string name in allNames)
{
    Console.WriteLine(name);
}

/*
 This code produces the following output:

 Adams, Terry
 Andersen, Henriette Thaulow
 Hedlund, Magnus
 Ito, Shu
 Solanki, Ajay
 Hoeing, Helge
 Potra, Cristina
 Iallo, Lucio
*/

Comentarios

El Empty<TResult>() método almacena en caché una secuencia vacía de tipo TResult. Cuando se enumera el objeto que devuelve, no produce ningún elemento.

En algunos casos, este método es útil para pasar una secuencia vacía a un método definido por el usuario que toma .IEnumerable<T> También se puede usar para generar un elemento neutro para métodos como Union. Consulte la sección Ejemplo para obtener un ejemplo de este uso de Empty<TResult>().

Se aplica a

Produto Versións
.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