1
這兩段代碼在結果中是否有區別?C#Multidimensionarray設置一個值的區別
Array[d1, d2, d3] = value;
和
Array.SetValue(value, d1, d2, d3);
這兩段代碼在結果中是否有區別?C#Multidimensionarray設置一個值的區別
Array[d1, d2, d3] = value;
和
Array.SetValue(value, d1, d2, d3);
第一個是type-safe秒一個是不。
考慮一下:
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將確保您不會插入會在運行時炸掉的值。