C#多维数组设置值之间的差异

C#多维数组设置值之间的差异,c#,multidimensional-array,setvalue,C#,Multidimensional Array,Setvalue,这两段代码的结果有什么不同吗 Array[d1, d2, d3] = value; 及 第一个是第二个不是 考虑这一点: int[,,] array = new int[3, 3, 3]; array[0, 0, 0] = "foo"; // oops! array.SetValue("foo",0,0,0); // OK for now, but at runtime... 除此之外,没有真正的区别。它们的结果没有区别,但正如Selman22所指出的,一种方法是类型安全的,而另一种则不是

这两段代码的结果有什么不同吗

Array[d1, d2, d3] = value;

第一个是第二个不是

考虑这一点:

int[,,] array = new int[3, 3, 3];
array[0, 0, 0] = "foo"; // oops!

array.SetValue("foo",0,0,0); // OK for now, but at runtime...

除此之外,没有真正的区别。

它们的结果没有区别,但正如Selman22所指出的,一种方法是类型安全的,而另一种则不是。了解SetValue如何支持可变参数计数,但两者都有其存在的原因

Typesafety将确保您不会插入在运行时会爆炸的值

int[,,] array = new int[3, 3, 3];
array[0, 0, 0] = "foo"; // oops!

array.SetValue("foo",0,0,0); // OK for now, but at runtime...