如果我有一个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("MyIntField") > 30 && Record.Field ("StringValue") == "StringValue") || (record.Field ("AnotherField") > 70) select record;
LINQ查询更大,但我个人觉得它更具可读性