日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LINQ访问DataTable

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LINQ访问DataTable 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般的來說,你不能直接使用Linq查詢DataSet/DataTable/DataRowCollection等等。例如下面這條語句,將不能運行: var q=from r in table.Rows select r; 你可以添加下面這個類來轉換相關的數據類型用作Linq查詢: // simple wrapper that implements IEnumerable<T>
internal class LinqList<T>: IEnumerable<T>, IEnumerable
{
IEnumerable items;

internal LinqList(IEnumerable items)
{
this.items = items;
}

#region IEnumerable<DataRow> Members
IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
foreach (T item in items)
yield return item;
}

IEnumerator IEnumerable.GetEnumerator()
{
IEnumerable<T> ie = this;
return ie.GetEnumerator();
}
#endregion
}
下面是一個使用該方法的實例: // 創建一個DataTable
DataTable table = new DataTable();
table.Columns.Add("Id", typeof(int));
table.Rows.Add(new object[]{1});
table.Rows.Add(new object[]{2});
table.Rows.Add(new object[]{3});

// 將DataTable.Rows用上面的這個類進行封裝
LinqList<DataRow> rows = new LinqList<DataRow>(table.Rows);

// 執行一條查詢的示例
IEnumerable<DataRow> selectedRows = from r in rows
where (int)r["Id"] == 2
select r;

// 輸出查詢結果
foreach (DataRow row in selectedRows)
Console.WriteLine(row["Id"]);
本文轉自lidup 51CTO博客,原文鏈接:http://blog.51cto.com/lidup/156117,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的LINQ访问DataTable的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。