哪一个使用; Datatable.Select()还是LINQ?

Kis*_*mar 2 c# linq

如果我有一个DataTable包含少量或大量数据的数据,要从数据表中选择数据,我可以使用该Datatable.Select()方法或转到LINQ.哪一个更快更有效?

Rob*_*Rob 7

哪一个最适合您的情况?或者更重要的是,您查询的数据量的速度差异是否值得选择一个而不是另一个?

在我看来,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查询更大,但我个人觉得它更具可读性

  • @Kishore:如果你想要表现,最好不要使用.走低. (2认同)