Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Enumerable.Empty<TResult> (Método)

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

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

public static 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.

Valor devuelto

Tipo: System.Collections.Generic.IEnumerable<TResult>
Una interfaz IEnumerable<T> vacía cuyo argumento de tipo es TResult.

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

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

En el ejemplo de código siguiente se muestra cómo se utiliza Empty<TResult>() para generar una interfaz IEnumerable<T> vacía.


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


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


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



.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft