- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有大约 100,000 行通用数据。此数据的列/属性是用户可定义的,并且是常用数据类型(字符串、整数、 double 、日期)。将有大约 50 个列/属性。
我有两个需求:
DataTable:Pros: DataColumn.Expression is inbuiltCons: 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 columnGenericList:Pros: LINQ syntax, NCalc supports callbacksCons: Implementing NCalc/generic calc engine
基于以上所述,我认为 GenericList 方法会胜出,但我没有考虑的是性能,出于某种原因我认为使用数据表会更好。
有没有人对 LINQ 与 DataTable 性能有直觉/经验?
NCalc 怎么样?
正如我所说,大约有 100,000 行数据,50 列,其中可能有 20 列是计算出来的。总共将针对数据运行大约 50 条规则,因此总共将有 500 万行/对象扫描。
非常感谢任何见解。谢谢。
附言。当然使用数据库+SQL & Views等是最简单的解决方案,但由于种种原因无法实现。
最佳答案
嗯,使用 DataTable 并不排除使用 LINQ
table.Rows.Cast<DataRow>() //IEnumerable<DataRow>, linq it to death
This guy对 HashTable
与 DataTable
和 this guy 进行了一些争论发现 Dictionary
比 DataTable
好,但相差不大(Dictionary 中的因素会产生成本)。
注意:如果列是事先已知的(也就是说,用户可以从一组预定义的列(名称,类型)中选择一些列),我会选择强类型类,因为 data[ "property"]
不像 data.Property
那样获得 Intellisense 支持。
关于c# - 设计建议。使用 DataTable 或 List<MyObject> 作为通用规则检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988685/
我对 PHP 中的对象克隆有疑问。我知道克隆创建了一个“深拷贝”,因为创建了一个新对象,其变量初始化为克隆它的对象中相应变量的值。然而,as discussed here ,这意味着任何引用变量都将引
我有一个有点难以解释的合法 JS 问题。请原谅我莫名其妙的说话方式,努力把握大意。 :P 在 JS 中对象可以有属性。您可以将功能分配给属性。您可以重新定义对象的属性而不改变其其他属性。 var my
我有这种情况,我在 C# 中使用的 web 服务方法返回一个业务对象,当使用以下代码调用 web 服务方法时,我在引用中得到异常“无法将类型为 ContactInfo 的对象转换为类型 Contact
我试图进入在 ScalaDays 2013 上展示的新 Scala Pickling 库:Scala Pickling 我真正缺少的是一些如何使用库的简单示例。 我明白我可以像这样腌制一些物体并再次解
这个问题已经有答案了: Which is more effective: if (null == variable) or if (variable == null)? [duplicate] (9
这行代码做了什么? MyObject *objectOne = (MyObject *)recognizer.view; 我对 (MyObject *) 感到困惑。 它是否有效地将 recognize
我遇到了一个具有不可变属性的类: MyObject[] allObjs 属性初始化如下: List objs = createAllMyObjects(); allObjs = objs.toArra
这是我的代码: Set> mySet = getSetOf(MyObject.class); public Set getSetOf(Class setClass) { Set set =
我在面试时被问到这个问题。不能使用 Google Guava 或 MultiMap。我有课 public class Alpha { String company; int loc
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Sorting a collection of objects Sorting an ArrayList of Co
我想根据对象属性对 ArrayList 中的一些对象进行排序。该对象具有: public class Minterm { String minTerm; char flagTick;
这个比那个好吗? 这甚至是一个有效的问题吗? 我最近被告知 MyObject.DoSomething()已经过时了,服务方式是首选。那正确吗? 例子: public class Policy : IC
这个问题在这里已经有了答案: Why can't assign I to ? (2 个答案) What are the risks of explicitly casting from a lis
MyObject obj = new MyObject(); 我知道“new”关键字将调用构造函数并初始化托管堆中的对象。 我的问题是 CLR 如何执行以下操作。 CLR 如何执行上述行? CLR 如
如何转换 Flux直接到Mono> ? 我正在寻找相当于 Single> single = observable.toList()来自 RxJava。 使用阻塞运算符,我可以这样做: val just
在我的 Scalding Flow 中,我有一个 TypedType[Set[MyObject]]。如何将其展平为 TypedType[MyObject]? 最佳答案 pipe.flatMap(ide
我有很多 resharper 警告将我的参数从常规数组更改为相同类型的 IEnumerable,所以它会改变这个: public Interface IGenerator { voi
存储 Collection 的最佳方式是什么? ?该集合对于当前用户来说实际上是静态的。每个用户只能看到他们的 Collection 。 MyItem项目工具 IItem : public inter
我目前正在练习/学习 Ruby 中的单例方法和单例类,我遇到了一个疑问。鉴于: myobject = Object.new 这样做有什么区别吗: def myobject.mymethod end 然
类似于this question但使用对象而不是指针。 如果我有如下代码 Foo f; vector vect; vect.push_back(f); vect.erase(vect.begin())
我是一名优秀的程序员,十分优秀!