繁体   English   中英

C#:遍历数据表:Rows,Select()或AsEnumerable()

[英]C#: Iterating through a data table: Rows, Select() or AsEnumerable()

foreach (DataRow row in myDataTable.Select())

foreach (DataRow row in myDataTable.AsEnumerable())

foreach (DataRow row in myDataTable.Rows)

有什么区别?

Rows不是强类型的 - 因此每次迭代都会有一个强制转换,并且您不能轻易地使用LINQ对象。 (我相信AsEnumerable()也必须在内部对每个迭代进行强制转换,但至少你可以轻松地将它用于其他LINQ方法。)

Select构建数组的需求,因此显然会有性能损失。

我个人会使用AsEnumerable()除非你想在循环中修改表,在这种情况下, Select预先构建一个数组的事实实际上可能是一个优势。

如果您尝试使用LINQ查询数据表,请使用AsEnumerable(),否则,您也可以使用循环结构...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM