我的问题是:对于大型数据集,什么是最有效和最正确的?
_pointBuffer1 = new Point3DCollection {
new Point3D(140.961, 142.064, 109.300), new Point3D(142.728, 255.678, (...)
-- 或--
_pointBuffer1.Add(new Point3D(140.961, 142.064, 109.300)); _poitBuffer1.Add(142.728, (...)
还是一样?
Point3D 被声明为 Point3DCollection,但我的问题是针对任何对象集合(例如可以是 Int32)..
最佳答案
为了清晰起见,我强烈建议使用集合初始值设定项(尽管我也会使用一些换行符)。
请注意,它们完全最终不是同一个 IL。第一个最终等同于:
var tmp = new Point3DCollection();
tmp.Add(new Point3D(140.961, 142.064, 109.300));
tmp.Add(new Point3D(142.728, 255.678));
...
_pointBuffer1 = tmp;
换句话说,对最终变量的赋值仅在 所有 Add
调用之后进行。
如果您的 Point3D
构造函数以某种方式引用了 _pointBuffer1
,这很重要!
关于c# - 在 C# 中声明集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927489/