DataTableExtensions.AsEnumerable(DataTable) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Genel parametrenin IEnumerable<T>Tolduğu bir DataRow nesnesi döndürür. Bu nesne bir LINQ ifadesinde veya yöntem sorgusunda kullanılabilir.
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)
Parametreler
Döndürülenler
IEnumerable<T> Genel parametrenin T olduğu bir nesne.DataRow
Özel durumlar
Kaynak DataTable : null.
Örnekler
Aşağıdaki örnekte, DisplayProducts yöntemi adlı ProductNamebir DataColumn içeren bir DataTable alır, değerleri ayıklar ProductName ve sonra değerleri yazdırır.
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
Açıklamalar
Language-Integrated Sorgu (LINQ) sorguları, IEnumerable<T> arabirimini veya IQueryable arabirimini uygulayan veri kaynakları üzerinde çalışır.
DataTable sınıfı iki arabirimi de uygulamaz, bu nedenle linq sorgusunun yan tümcesinde AsEnumerable kaynak olarak kullanmak DataTable için yöntemini çağırmanız From gerekir. Ayrıca, bir CopyToDataTable nesne döndürerek gibi IEnumerable<T>etki alanına özgü özel işleçler de elde edebilirsiniz.
yöntemi tarafından AsEnumerable döndürülen numaralandırılabilir nesne, onu üretene DataTable kalıcı olarak bağlıdır. yöntemine yapılan AsEnumerable birden çok çağrı, tümü kaynağa DataTablebağlı olan birden çok bağımsız sorgulanabilir nesne döndürür.