Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método DataTableExtensions.AsEnumerable (DataTable)

 

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

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
Type: System.Data.DataTable

El origen de DataTable a volver enumerable.

Valor devuelto

Type: System.Data.EnumerableRowCollection<DataRow>

Un IEnumerable<T> objeto, donde el parámetro genérico T es DataRow.

Exception Condition
ArgumentNullException

El origen de DataTable es null.

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

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

En el ejemplo siguiente, la DisplayProducts método recibe un objeto DataTable que contiene un objeto DataColumn denominado ProductName, extrae el ProductName valores 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
Disponible desde 3.5
Volver al principio
Mostrar: