如果没有复制值,有没有办法呢?
答案 0 :(得分:4)
不幸的是,需要复制这些值,但DoubleCollection
has a constructor会自动为您执行此操作:
var foo = new double[] { 1.0, 2.5, 3.3, 4.1, 5.9 };
var bar = new DoubleCollection(foo);
修改... 强>
您已经指定使用Silverlight,这意味着没有可用的构造函数。在这种情况下,你需要自己完成所有的工作(而不是它实际上需要额外的工作):
var foo = new double[] { 1.0, 2.5, 3.3, 4.1, 5.9 };
var bar = new DoubleCollection();
foreach (double d in foo) bar.Add(d);
// or, if you prefer Array.ForEach to a foreach loop...
// Array.ForEach(foo, d => bar.Add(d));
答案 1 :(得分:2)
快速回答是否定的。
DoubleCollection
有一个constructor,可以使用IEnumerable<Double>
:
DoubleCollection dc = new DoubleColection(myArray);
这仍然会创建每个值的副本。
答案 2 :(得分:0)
您应该可以使用constructor of DoubleCollection来执行此操作,但在幕后,可能只是复制值,因此我会反映它以确保。
答案 3 :(得分:0)
DoubleCollection dCollection = new DoubleColection(myDoubleArray);