DataTableExtensions.AsEnumerable(DataTable) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een IEnumerable<T> object, waarbij de algemene parameter T zich bevindt DataRow. Dit object kan worden gebruikt in een LINQ-expressie of methodequery.
public:
[System::Runtime::CompilerServices::Extension]
static System::Data::EnumerableRowCollection<System::Data::DataRow ^> ^ AsEnumerable(System::Data::DataTable ^ source);
public static System.Data.EnumerableRowCollection<System.Data.DataRow> AsEnumerable(this System.Data.DataTable source);
static member AsEnumerable : System.Data.DataTable -> System.Data.EnumerableRowCollection<System.Data.DataRow>
<Extension()>
Public Function AsEnumerable (source As DataTable) As EnumerableRowCollection(Of DataRow)
Parameters
Retouren
Een IEnumerable<T> object, waarbij de algemene parameter T is DataRow.
Uitzonderingen
De bron DataTable is null.
Voorbeelden
In het volgende voorbeeld ontvangt de DisplayProducts methode een gegevenstabel die een DataColumn met de naam ProductNameDataColumn bevat, worden de ProductName waarden geëxtraheerd en worden de waarden vervolgens afgedrukt.
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);
}
}
Imports System.Console
Module Module1
Public Sub DisplayProducts(ByVal table As DataTable)
Dim productNames = From products In table.AsEnumerable() Select products("ProductName")
WriteLine("Product Names: ")
For Each productName In productNames
WriteLine(productName)
Next
End Sub
Sub Main()
Dim table As DataTable = 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")
DisplayProducts(table)
End Sub
End Module
Opmerkingen
Language-Integrated Query's (LINQ) werken met bronnen die de IEnumerable<T> interface of de IQueryable interface implementeren. De DataTable klasse implementeert geen van beide interfaces, dus u moet de methode aanroepen om de DataTableAsEnumerable als bron in de From component van een LINQ-query te gebruiken. U kunt ook aangepaste, domeinspecifieke operators, zoals CopyToDataTable, verkrijgen door een IEnumerable<T> object te retourneren.
Het door de AsEnumerable methode geretourneerde enumerable object is permanent gebonden aan het DataTable object dat is geproduceerd. Meerdere aanroepen naar de AsEnumerable methode retourneren meerdere, onafhankelijke, doorzoekbare objecten die allemaal aan de bron DataTablezijn gebonden.