14

配列にはSetValueメソッドがあることに気付きました。これは、インデクサーを使用できる場合は少し場違いに思えます。SetValueには特別な目的がありますか?MSDNの記事には、SetValueの目的は記載されておらず、使用方法が記載されているようです。速度に関しては、どちらの方法を使用するのがより効率的でしょうか?

4

1 に答える 1

18

配列について持っているのは、それがであるということだけである場合がありますArrayArrayクラスにはインデクサーがないため、クラスで要素値を設定/取得するための最良の方法は、andGetValueメソッドを使用することSetValueです。例えば:

private void M(Array array) 
{
    array[0] = 5;         // <-- Compiler error
    array.SetValue(5, 0); // <-- Works
}
于 2012-05-16T21:23:09.343 に答える