2009-08-19 5 views

答えて

7

VBまたはさまざまなCOMから派生したAPIの多次元配列では、次元によって下限を照会することができます。配列の型は、0または1(すなわち、0または1から始まる)にすることができ、多次元配列にも適用されます。

これは、COM相互運用機能で公開される配列にも適用できます。たとえば、多くのExcel APIでは1ベースの配列が使用され、多くのAPI関数ではバリアント配列がパラメータとして使用されています(バリアントはスプレッドシートセルのデータ型として本質的に発明されています)。

COM相互運用機能を使用する場合、これらのAPIとタイプシステムでうまく再生する必要があります。元々はVBAで使用するように設計されていましたが、「古典的な」VB4-6言語のバリエーションはCOMとの緊密な結合のために真にバロック系のシステムでした。 .NetタイプのC#etシステムal。彼らのCOMベースの先任者よりもやや苦痛は少ないですが、COM相互運用機能を使用するときにはまだ痛みを感じることがあります。

+2

あなたは破産mispelled。 :) – quillbreaker

+9

スペルミスのスペルが間違っていた;) – Marc

+6

いいえ、私は本当に「バロック様式の怪物」のように「バロック」を意味しました。 ; - } – ConcernedOfTunbridgeWells

16

理論的には、インデックスの下限または上限の配列を作成できます。 VB.NETはこれを使用して、より古いVB verionsと互換性があるように1の下限値の配列を作成できますが、実際にArray.CreateInstance(Type,Int32[],Int32[])を使用して任意の下限の配列を作成することができます。

3

非ゼロの下限を設定する1つのCreateInstanceコールあり:

CreateInstance(Type, Int32[], Int32[])
は、指定された下限と、指定されたタイプおよび寸法の長さの多次元配列を作成が。

この比較:

CreateInstance(Type, Int32[])
は、ゼロベースのインデックスと指定されたタイプおよび寸法の長さの多次元配列を作成します。次元の長さは、32ビット整数の配列で指定されます。

(あるいは、実際には他のオーバーロードのいずれかへ。6つのCreateInstance過負荷、5のゼロベースの配列を作成します。)

関連する問題