如果我有一个DataTable包含少量或大量数据的数据,要从数据表中选择数据,我可以使用该Datatable.Select()方法或转到LINQ.哪一个更快更有效?
哪一个最适合您的情况?或者更重要的是,您查询的数据量的速度差异是否值得选择一个而不是另一个?
在我看来,LINQ通常比任何其他形式的数据过滤都更容易阅读,并且比使用DataTable.Select至少部分强类型更容易使错误变得更难.
// Using DataTable.Select()
DataRow[] records = myTable.Select("(MyIntField > 30 AND MyStringField == 'StringValue') OR AnotherField > 70");
// Using LINQ
var records = from record in myTable.AsEnumerable()
where (record.Field<int>("MyIntField") > 30
&& Record.Field<string>("StringValue") == "StringValue")
||
(record.Field<int>("AnotherField") > 70)
select record;
Run Code Online (Sandbox Code Playgroud)
LINQ查询更大,但我个人觉得它更具可读性
| 归档时间: |
|
| 查看次数: |
9915 次 |
| 最近记录: |