この記事に記載されている配列は、ASPプログラミングの特定の参照値を持つVisual Basicの配列の定義です。
配列は、順序付けられたデータのコレクションです。配列内の要素は、同じデータ型に属していない場合があります。統一された配列名とサブスクリプトを使用して、アレイの1つを変更しても、他の要素には影響しません。配列のサブスクリプトは境界があり、下限と上限に分割されます。配列は、薄暗い、プライベート、パブリック、または静的で宣言でき、その構文形式は同じです。以下は、DIMを使用して配列を宣言する方法のみです。
1。配列の定義と宣言
配列の定義構文は次のとおりです。
薄暗い配列名([[下付き下線]添え字の上限])[データ型として]
たとえば(現在のモジュールの配列のデフォルトの下限が0であると仮定)):
integerとしてdim a(10)
これは、配列名がAであることを意味します。このアレイサブスクリプトの下限はデフォルト値0、添え字の上限は10で、a(0)、a(1)から11の整数型要素があります。 (10)へ。
dim b(1〜20)整数として
これは、配列名がBであることを意味します。この配列の下限は1、下付き文字の上限は20であり、B(1)からB(20)までの整数タイプの20の要素があります。
③dimdayarray(50)
DayArrayが51のインデックス(0〜50)要素を持つバリアント配列であることを示します。
integerとしてのdimマトリックス(3、4)
マトリックスが2次元整数アレイであることを示します。
dim mymatrix(1〜5、4〜9、3〜5)double
MyMatrixは、上限と下限を明示的に指定する3次元ダブルアレイであることを示します。
日付としての誕生日(1〜10)
誕生日は、インデックスが1〜10の日付タイプの配列であることを示します。
2。オプションベースステートメント
オプションベースステートメントはモジュールレベルで使用され、アレイサブスクリプトのデフォルトの下限を宣言するために使用されます。
オプションベースステートメントの構文は次のとおりです。
オプションベース{0 |}
注:配列の下限はデフォルトでは0であり、オプションベースステートメントを使用する必要はありません。このステートメントを使用して配列下限1を指定する場合は、モジュールの配列宣言の前にオプションベースステートメントを使用する必要があります。
知らせ:
(1)薄暗い、プライベート、パブリック、リダイム、および静的なステートメントの条項は、配列の添え字を制御するためのより柔軟な方法を提供します。ただし、下限がto句を使用して明示的に指定されていない場合、オプションベースを使用してデフォルトの下限を1に設定できます。配列関数を使用して作成された配列の下限は、アレイがタイプライブラリ名(vba.arrayなど)の名前で適格でない場合を除き、オプションベースステートメントで指定された下限によっても決定されます。アレイ関数を使用して作成された配列は、下位領域の名前によっても決定されます。
(2)オプションベースステートメントは、ステートメントを含むモジュールにある配列の下限のみに影響します。
配列宣言に関するいくつかのメモ:
ary配列名の命名ルールは、変数名と同じです。
Arrayアレイ名は括弧で包まれており、角括弧は使用できず、これはC言語とは異なります。
subscriptの下限は、その上限よりも大きくてはなりません。
subscriptsの境界として変数名または定数名(および実数)を使用できます。インデックスの境界が一定の名前である場合、アレイのサイズが固定されている場合、アレイのサイズは動的に定義できます。プログラム操作中の変数の値。したがって、VBの配列は、静的配列と動的配列の2つのタイプに分割できます。
3。静的配列
静的配列とは、配列要素の数が固定されていないこと、つまり、占有するメモリ空間のサイズが固定されていないことを意味します。固定サイズのアレイの異なる寸法に応じて、1次元配列と多次元配列に分割できます。
多次元配列を宣言する構文形式は次のとおりです。
DIM配列名([添え字境界リスト])[データ型]
下付き文字の境界の定義形式:[添え字の下境界の下境界] subscript上限
サブスクリプト境界リストは、コンマによって区切られた配列の各次元のサブスクリプスクリプト境界を指します。
[添えサブスクリプトの下限]添え字の上限、[添えサブスクリプトの下限]添え字の上限、...、[添えサブスクリプトの下限] subscript上限
(最初の寸法)(第2次元)(nth dimension)
n = 1の場合、アレイはn = 2と呼ばれます。
次の例を使用して、1次元アレイの使用を導入します。
'長さ51のFriendsNameの文字列配列を宣言します
dim friendsname(50)as string
'長さ11のグローバル整数アレイを宣言します
整数としてのパブリッククラス(10)
1次元配列内の要素の数は(上限低下境界+1)です。
初期値を配列に割り当てるには、次のようなループステートメントを使用できます。
整数として薄暗い
i = 0〜11 'ループステートメントのプログラムフロー使用量の制御
c(i)= i
次の私
添え字の下限が明示的に指定されていない場合、アレイのサブスクリプトの下限はオプションベースステートメントによって制御されます。オプションベースステートメントがない場合、下限はデフォルト0になります。
配列の寸法は2に限定されません。VBでは60に拡張できます。実際のアプリケーションでは、3次元を超える配列には多くのアプリケーションはありません。多次元アレイを定義する場合、マルチ次元配列を使用してすべてのサブスクリプト境界を指定するためのDIMステートメントのみが必要です。例えば:
通貨としての薄暗い利益(16,10,12)
この利益アレイは、パラメーターとして店舗名、部門、月を持つデパートの利益を表すために使用できます。たとえば、利益(2,8,11)は、11月の第2支店の第8部の利益を表しています。
4。動的配列
アレイの使用を開始する前に、実際のニーズを満たすためにアレイがどれだけ大きいかを知ることは不可能です。もちろん、この方法は非常に非効率的です(メモリスペースの無駄)。動的配列を使用する場合、プログラムが実行されているときに実際のニーズに応じて配列のサイズを正確に定義できます。
配列を宣言する場合、寸法のリストを提供しないことは、配列を動的配列として宣言することです。例えば:
整数としてdim myarry()
動的配列を使用する前に、Redimステートメントを使用して再定義する必要があります。以前に宣言した配列Myarryが次のステートメントを使用して、それを動的な2次元配列として定義できます。
Myarryをredim(10,10)
また、Redimステートメントを繰り返し実行することにより、動的配列を複数回定義することもできます。 Redimを使用して定義できる配列の最大寸法は60です。 Redimステートメントは、配列の次元ごとの要素数を変更できますが、寸法の数を変更することはできません。以下は、Redimステートメントの標準アプリケーションの例です。
Dim Myarry()は、単一の 'を動的配列を宣言します
redim myarry(30,20,10) '再定義配列
redim myarry(50,23,21) 'アレイを再度再定義します
Redimの構文はDIMの構文と同じであり、Preserveキーワードの選択もあります。
Redim Preserveアレイ名([[[[[下]下] subscript Upper Bound])[データ型として]
例えば:
?
- Redimmyarry(50,23,21)
- RedimpreServeMyArry(50,23,50)