是否使用select或AsEnumerable()。Where()

时间:2014-01-03 05:38:37

标签: c# linq datatable

我在C#中使用DataTable class

我想知道是否应该使用DataTable.Select()DataTable.AsEnumerable().Where()来搜索数据表中的元素。

var filter1 = dataTable.AsEnumerable().Where(
                  r => r.Field<String>("OBJECT_ID").Contains(val));

var filter2 = dataTable.Select(filter expression);

2 个答案:

答案 0 :(得分:4)

对于大量行,LINQ比SELECT快,当行不断增加时,您应该看到相当大的差异。 与select()相比,linq还会产生更少的内存空间。 我更喜欢使用linq,因为代码更具可读性。

请参阅参考资料Click Here

答案 1 :(得分:1)

不仅性能,DataTable.Select难以维护且难以编写代码。

我认为它仍然存在的原因是允许遗留软件继续运行。