• ベストアンサー

配列を動的に作成する

Stringの配列を動的に作成したのですが、 下記のようなコーディングを書くとnullになってしまい、 駄目になってしまいます。 String[] strArr = null; for( int i =0; i < 何かのMax件数; i ++ ){ strArr[i] = new String(); strArr[i] = "ループによって変動する値"; } 何か良い方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

Listで作成して配列に変換する。 もしくは、 「何かのMax件数」 が既に分かっているのだから for( int i =0; i < 何かのMax件数; i ++ ){ の直前で strArr = new String[何かのMax件数]; ってやってあげる。

msyh9999
質問者

お礼

お礼できずにすいませんでした。 とりあえず、何とかなりました。 まだまだ、C#は奥が深いという事が判明しました。

msyh9999
質問者

補足

回答ありがとうございます。 先ほどの私の例が間違っていました。 実際は下記の用にやりたいんです。 String[] strArr1 = null; String[] strArr2 = null; String[] strArr3 = null; ・ ・ ・ ・ String[] strArr10 = null; for( int i =0; i < 何かのMax件数; i ++ ){ if (条件1){ strArr1[i] = new String(); strArr1[i] = "ループによって変動する値"; } if (条件2){ strArr2[i] = new String(); strArr2[i] = "ループによって変動する値"; } if (条件3){ strArr3[i] = new String(); strArr3[i] = "ループによって変動する値"; } } それで、Listを使用すればいいといいましたが、 いまいち、Listの使用方法が分かっていません。 Listを使用する場合は、どう使用すればいいのでしょうか?

その他の回答 (2)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

> Listを使用する場合は、どう使用すればいいのでしょうか? Listはインターフェースなので、実際に使うのはArrayListクラスあたりでしょうか。 「java ArrayList サンプル」とかでネット検索すればいくらでも使用例や解説が見つかります。 また、本題とは関係ない部分ですが気になりました。 > strArr[i] = new String(); > strArr[i] = "ループによって変動する値"; 直後に"ループによって変動する値"で上書きされてしまうのであれば、new String()している行は全くの無駄です。消しましょう。

msyh9999
質問者

お礼

お礼できずにすいませんでした。 とりあえず、何とかなりました。 まだまだ、C#は奥が深いという事が判明しました。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

strArr1 = new String[何かのMax件数]; strArr2 = new String[何かのMax件数]; ・・・ strArr10 = new String[何かのMax件数]; でいいんじゃない? 何か問題あるのかしら。 >List この場合 strList1~strList10まで作って if文でaddしていき 最後に toArrayメソッドでString[]に変換してあげれば良いわ。

msyh9999
質問者

お礼

お礼できずにすいませんでした。 とりあえず、何とかなりました。 まだまだ、C#は奥が深いという事が判明しました。

関連するQ&A