DataTableExtensions.AsEnumerable(DataTable) Metoda

Definicja

IEnumerable<T> Zwraca obiekt, w którym parametr T ogólny to DataRow. Ten obiekt może być używany w wyrażeniu LINQ lub zapytaniu metody.

C#
public static System.Data.EnumerableRowCollection<System.Data.DataRow> AsEnumerable (this System.Data.DataTable source);

Parametry

source
DataTable

Źródło DataTable do wyliczenia.

Zwraca

Obiekt IEnumerable<T> , w którym parametr T ogólny to DataRow.

Wyjątki

DataTable Źródłem jest null.

Przykłady

W poniższym przykładzie DisplayProducts metoda odbiera tabelę DataTable zawierającą kolumnę DataColumn o nazwie ProductName, wyodrębnia wartości, a następnie drukuje ProductName wartości.

C#
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);
   }
}

Uwagi

zapytania Language-Integrated Query (LINQ) działają na źródłach danych, które implementują IEnumerable<T> interfejs lub IQueryable interfejs. Klasa DataTable nie implementuje interfejsu, dlatego należy wywołać AsEnumerable metodę , aby użyć DataTable metody jako źródła w From klauzuli zapytania LINQ. Można również uzyskać niestandardowe, specyficzne dla domeny operatory, takie jak CopyToDataTable, zwracając IEnumerable<T> obiekt.

Obiekt wyliczalny zwrócony przez metodę AsEnumerable jest trwale powiązany z utworzonym obiektem DataTable . Wiele wywołań metody AsEnumerable zwróci wiele niezależnych obiektów, które są powiązane ze źródłem DataTable.

Dotyczy

Produkt Wersje
.NET 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 2.1