VB6コードのC#への自動翻訳と、コンバーターがsomeArray(3)
からsomeArray[3]
に翻訳したことを確認しています。ただし、古いコードドキュメントによると、翻訳版の場合のように4番目ではなく3番目の要素を選択する必要があります。
配列インデックスはVB6で0ベースですか?それとも1から始まりますか?
はい-アレイは(一般的に)VB6ベースで0です
これに対する例外は、明示的なDim someArray(1 To 10) as Int
構文が使用されている場合またはOption Base 1
はコードモジュールの先頭で宣言されています。
そうではないのはCollections
です-Collection
オブジェクトをループすると、それらは1ベースであると確信しています。
簡単に言えば、配列の下限はあなたが伝えるそれらであるということです。
デフォルトはベース_0
_です(_Option Base 1
_でオーバーライドされない限り)が、任意の値の下限を宣言できます(Dim arr(-42 To 42)
は次のように有効ですDim(3)
)。
また、配列が何らかのオブジェクトによって返される場合、その下限はそのオブジェクトが設定するものになります。たとえば、Excel
_Range.Value
_参照は、_1
_ベースの配列を返します。