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

DataTableExtensions.AsEnumerable (Método)

Devuelve un objeto IEnumerable<T>, donde el parámetro T genérico es DataRow. Este objeto puede usarse en una expresión LINQ o en una consulta de método.

Espacio de nombres:  System.Data
Ensamblado:  System.Data.DataSetExtensions (en System.Data.DataSetExtensions.dll)

public static EnumerableRowCollection<DataRow> AsEnumerable(
	this DataTable source
)

Parámetros

source
Tipo: System.Data.DataTable
DataTable de origen que se va a volver enumerable.

Valor devuelto

Tipo: System.Data.EnumerableRowCollection<DataRow>
Objeto IEnumerable<T>, donde el parámetro T genérico es DataRow.

Nota sobre el uso

En Visual Basic y C#, se puede llamar a este método como a un método de instancia en cualquier objeto de tipo DataTable. Cuando emplee la sintaxis del método de instancia para llamar a este método, omita el primer parámetro. Para obtener más información, vea Métodos de extensión (Visual Basic) o Métodos de extensión (Guía de programación de C#).

ExcepciónCondición
ArgumentNullException

El valor del objeto DataTable de origen es null.

Las consultas de Language-Integrated Query (LINQ) funcionan en los orígenes de datos que implementan la interfaz IEnumerable<T> o la interfaz IQueryable. La clase de DataTable no implementa las interfaces, por lo que debe llamar al método de AsEnumerable para utilizar DataTable como origen en la cláusula de From de una consulta de LINQ . También puede obtener custom, operadores dominio- específicos, como CopyToDataTable, devolviendo un objeto de IEnumerable<T> .

El objeto enumerable devuelto por el método AsEnumerable se enlaza permanentemente al objeto DataTable que lo generó. Varias llamadas al método AsEnumerable devolverán varios objetos consultables independientes que están todos enlazados al objeto DataTable de origen.

En el siguiente ejemplo, el método DisplayProducts recibe un DataTable que contiene un DataColumn denominado ProductName, extrae los valores ProductName y, a continuación, imprime los valores.


using System;
using System.Data;

class Program {
   public void DisplayProducts(DataTable table) {
      var productNames = from products in table.AsEnumerable() select products.Field<string>("ProductName");
      Console.WriteLine("Product Names: ");
      foreach (string productName in productNames) {
         Console.WriteLine(productName);
      }
   }

   static void Main(string[] args) {
      DataTable table = new DataTable();
      table.Columns.Add("ID");
      table.Columns.Add("ProductName");

      table.Rows.Add("1", "Chai");
      table.Rows.Add("2", "Queso Cabrales");
      table.Rows.Add("3", "Tofu");

      Program inst = new Program();
      inst.DisplayProducts(table);
   }
}


.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

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