9
配列にはSetValueメソッドがあることに気付きました。 SetValueの特別な目的はありますか? MSDNの記事では、SetValueが何のためのものなのか、それを使用する方法だけを説明していないようです。速度が上がるまで、どの方法を使うのが効率的でしょうか?配列のSetValueメソッドと[]インデクサの使用
配列にはSetValueメソッドがあることに気付きました。 SetValueの特別な目的はありますか? MSDNの記事では、SetValueが何のためのものなのか、それを使用する方法だけを説明していないようです。速度が上がるまで、どの方法を使うのが効率的でしょうか?配列のSetValueメソッドと[]インデクサの使用
場合によっては配列のすべてがArray
であることがあります。 Array
クラスにインデクサーがないため、要素値を設定/取得する最も良い方法は、GetValue
とSetValue
のメソッドを使用する方法です。例:
private void M(Array array)
{
array[0] = 5; // <-- Compiler error
array.SetValue(5, 0); // <-- Works
}
また、コンパイル時に配列の次元数がわからない場合は、実行時に要素を指定するためにSetValue(Object、Int32 [])オーバーロードを使用できます。http ://msdn.microsoft.com/en-us/library/758awxk7.aspx –
インデックスはどこから始まりますか? 1つは0が予想されますが、今日は.NETのArray型のCOMコンポーネントから返された値が発生しましたが、インデックスは0ではなく1で開始されました。 –
@PeterMortensen、COMは実際には恐ろしい場所です。 :)しかし、それは興味深い情報です。 –