我有大约100,000行通用数据。此数据的列/属性是用户可定义的,并且是常用的数据类型(字符串,整数,双精度,日期)。将有大约50列/属性。
我有2个需求:
实现第2点
DataTable: Pros: DataColumn.Expression is inbuilt Cons: RowFilter & coding c# is not as "nice" as LINQ, DataColumn.Expression does not support callbacks(?) => workaround could be to get & replace external value when creating the calculated column GenericList: Pros: LINQ syntax, NCalc supports callbacks Cons: Implementing NCalc/generic calc engine
基于以上所述,我认为GenericList方法会获胜,但我没有考虑的是性能,出于某些原因,我认为数据表会更好。
有没有人对LINQ vs. DataTable性能有直觉感受/经验?
NCalc怎么样?
正如我所说,大约有100,000行数据,有50列,其中可能有20列。
总共将对数据运行大约50条规则,因此总共将有500万行/对象扫描。
非常感谢任何见解。 THX。
PS。当然使用数据库+ SQL&视图等是最简单的解决方案,但由于各种原因无法实现。
答案 0 :(得分:5)