将 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中文网其他相关文章!