首頁 > 後端開發 > C++ > 如何在 C# 中有效率地將 DataTable 轉換為通用清單?

如何在 C# 中有效率地將 DataTable 轉換為通用清單?

Mary-Kate Olsen
發布: 2025-01-18 16:56:14
原創
292 人瀏覽過

How Can I Efficiently Convert a DataTable to a Generic List in C#?

將 DataTable 轉換為 C# 中的通用列表

C# 中存在多種將 DataTable 轉換為通用清單的方法。 一種常見的方法是迭代每一行並將其添加到列表中。

<code class="language-C#">DataTable dt = CreateDataTableInSomeWay();

List<DataRow> list = new List<DataRow>();
foreach (DataRow dr in dt.Rows)
{
    list.Add(dr);
}</code>
登入後複製

更有效率的方法:擴充方法

.NET 3.5 及更高版本使用 DataTableExtensions 類別中的擴充方法提供了更有效的解決方案。 AsEnumerable() 方法將 DataTable 轉換為 IEnumerable<DataRow>,然後可以使用 List<DataRow>.ToList() 輕鬆將其轉換為

<code class="language-C#">IEnumerable<DataRow> sequence = dt.AsEnumerable();

// Or, more directly:
using System.Linq;
...
List<DataRow> list = dt.AsEnumerable().ToList();</code>
登入後複製

這種基於 LINQ 的方法避免了明確循環,從而產生更乾淨且可能更快的程式碼。

效能分析

選擇轉換方法時,效能是關鍵。 對於大型資料表,逐行迭代可能會很慢。 AsEnumerable()ToList() 方法組合通常由於其最佳化的實現而提供卓越的性能。

以上是如何在 C# 中有效率地將 DataTable 轉換為通用清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板