Skip to main content
 首页 » 编程设计

c#之在 C# 中声明集合

2024年01月13日29kenshinobiy

我的问题是:对于大型数据集,什么是最有效和最正确的?

 _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,这很重要!