ReDimによる動的配列 |
Collectionによる動的配列 |
||
1 |
技術の取得に必要な時間は? |
○短い |
×長い(オブジェクト指向の勉強が必要) |
2 |
要素の追加は? |
×最後にしかできない。 (Preserveを使用) |
○どこにでもできる。 (Addメソッドのbeforeかafter引数を指定) |
3 |
特定の要素の削除は? |
×できない。 (Preserveを使用し、 最後の要素を削除する事は可能) |
○できる(Removeメソッドを使用) |
4 |
要素の並び替えは? |
×できない | ×できない |
5 |
特定の型のみしか要素に 追加できないようにすることは? |
○できる (宣言時に Dim a() As Long とすればLong型しか入れられなくなる) |
×できない (ユーザ定義型以外はなんでも入れられると思う。) |
6 |
2
(多)次元配列は? |
○できる |
×できない (コレクションか配列を要素にすればいいけど、 ソースが読みにくくなる。) |
7 |
番号ではなく、 名前で要素を取得する事は? |
×できない | ○できる (Addするときに、キー名を設定する) |
8 |
要素数0の配列の作成は? |
×できない ( ReDim a(0 to -1) を実行しようとするとエラーとなる) |
○できる (そもそも、インスタンス生成直後は要素数が0。 ※要素数を取得するにはCountメソッドを使用する。 ) |
9 |
Function,Property
Get プロシージャの 返り値の型に指定する事は? |
△できない(注:VBAのバージョンが6以上なら可能。) (VBAのバージョンが5の場合、基本的に配列は返せない。 どうしても、返したければ、Variantとする。) |
○できる |