Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DataTableExtensions.AsEnumerable-Methode: (DataTable)

 

Veröffentlicht: Oktober 2016

Gibt ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow. Dieses Objekt kann verwendet werden, einem LINQ -Ausdruck oder.

Namespace:   System.Data
Assembly:  System.Data.DataSetExtensions (in System.Data.DataSetExtensions.dll)

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

Parameter

source
Type: System.Data.DataTable

Die Quelle DataTable zu aufzählbar.

Rückgabewert

Type: System.Data.EnumerableRowCollection<DataRow>

Ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.

Exception Condition
ArgumentNullException

Die Quelle DataTable ist null.

Language-Integrated Query (LINQ) -Abfragen arbeiten mit Datenquellen, implementieren die IEnumerable<T> Schnittstelle oder die T:System.Query.IQueryable`1 Schnittstelle. Die DataTable -Klasse keine der Schnittstellen implementiert, sodass Sie aufrufen müssen die AsEnumerable zu verwendende Methode der DataTable als Quelle für die From -Klausel eine LINQ Abfrage. Sie können auch benutzerdefinierte, domänenspezifische Operatoren abrufen, wie z. B. CopyToDataTable, durch die Rückgabe einer IEnumerable<T> Objekt. 

Der von zurückgegebene aufzählbare Objekt die AsEnumerable dauerhaft gebundene Methode auf die DataTable die es erstellt wurde. Mehrere Aufrufe der AsEnumerable Methode werden mehrere, unabhängige abfragbare Objekte zurück gebunden sind, die Quelle DataTable.

Im folgenden Beispiel wird die DisplayProducts -Methode empfängt eine DataTable, die eine DataColumn mit dem Namen ProductName, extrahiert die ProductName Werte und gibt dann die Werte.

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
Verfügbar seit 3.5
Zurück zum Anfang
Anzeigen: