初歩的な質問で申し訳ないですが、以前にも同様な質問がありましたが、検索しても見あたりませんので質問します。
ある1次元配列の宣言をして配列に値を入れる場合For分などで配列分を回して
値を入れる方法しかないでしょうか?
また、値が様々であればFor分で回せず個々に代入していき行数が多くなり見にくいですかどうでしょうか?
よろしく御願いします。
このように値を入れる方法を私は今日見つけました。
Dim AAA() As String
AAA = New String() {"A","B","C"}
ちなみに私は2次元配列に1次元配列を入れる方法を模索していました。
Dim BBB()() as String
bbb = New String(0)() {AAA}
でした。
>haneさん
VB6ですか?VB.NETですか?
VB6の場合は、Variant型を使うことになりますが、
Array関数を使う手があります。
通常の配列ではまとめてのクリア以外の初期化はできませんので、
コードで地道にセットする必要があります。
VB.NETの場合は、Tom'sさんがレスされているように初期化できます。
> tomさん
2次元配列の初期化は例えば以下のように行います。
Dim s(,) As String = New String(,) {{"あいう", "111"}, {"かきく", "222"}}
> Dim BBB()() as String
> bbb = New String(0)() {AAA}
こちらは厳密には2次元配列ではなく、配列の配列(ジャグ配列といいます)になります。
#2次元配列と同じように使えますけどね。詳しいことはGoogle等で調べてみてください。
Tom's さん御返事有り難うございます。
返信の内容をクリップボードにコピーしてプロシージャに貼りつけると
AAA = New String() {"A","B","C"}で貼り付けた時にエラーが発生
VB6ではだめなのでしょうか?
Tom's さん、よねKEN さん有り難うございます。
array関数で行うことにしました。
その配列を他のプロシージャに渡しているのでその変更を行い、できました。
よねKENさんありがとうございます。
ジャグ配列の意味がわかりました。
グレープシティのEL Tabelleの関係上この配列でないとできない処理が
あったので、よくわからないままこの配列を使っていました。
ツイート | ![]() |