我在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);
答案 0 :(得分:4)
对于大量行,LINQ比SELECT快,当行不断增加时,您应该看到相当大的差异。 与select()相比,linq还会产生更少的内存空间。 我更喜欢使用linq,因为代码更具可读性。
请参阅参考资料Click Here
答案 1 :(得分:1)
不仅性能,DataTable.Select难以维护且难以编写代码。
我认为它仍然存在的原因是允许遗留软件继续运行。