DOBON.NET DOBON.NETプログラミング掲示板過去ログ

要素数のわからない二次元配列

環境/言語:[Windows XP C# VisualStudio2010]
分類:[.NET]

いつもお世話になっています。

要素数のわからない二次元配列を作りたいと思っています。
横の要素数は固定(10)
縦の要素数が変化します。

ArrayList[] data= new ArrayList[10];

このようにやったのですが、
上記でコーディングを進めると
横の要素数が変化
縦の要素数が固定
になっているようで
値の設定の仕方がわかりませんでした。

うまくやる方法を教えていただきたいと思います。
よろしくお願いします。
■No29938に返信(こたろうさんの記事)
> いつもお世話になっています。
>
> 要素数のわからない二次元配列を作りたいと思っています。
> 横の要素数は固定(10)
> 縦の要素数が変化します。
>
> ArrayList[] data= new ArrayList[10];
>
> このようにやったのですが、
> 上記でコーディングを進めると
> 横の要素数が変化
> 縦の要素数が固定
> になっているようで
> 値の設定の仕方がわかりませんでした。
>
> うまくやる方法を教えていただきたいと思います。
> よろしくお願いします。

もう少し具体的に困ってることを書いた方が良いように思います。
何を答えて良いかよく理解できませんでした。

下記のようなサイトは参考にならないでしょうか?
http://mag.autumn.org/Content.modf?id=20040810213604
■No29938に返信(こたろうさんの記事)
> 横の要素数は固定(10)
> 縦の要素数が変化します。

DataTable では駄目ですか?


DataTable data = new DataTable();
for (int col = 1; col <= 10; col++) data.Columns.Add();

data.Rows.Add(101, 102, 103, 104, 105, 106, 107, 108, 109, 110);
data.Rows.Add(201, 202, 203, 204, 205, 206, 207, 208, 209, 210);
data.Rows.Add(301, 302, 303, 304, 305, 306, 307, 308, 309, 310);
data.Rows.Add(401, 402, 403, 404, 405, 406, 407, 408, 409, 410);

 端的に書くと、以下の様にするのが無難かな。
雑に書いてあるけど、判りますよね?

List<Object> tate = new List<Object>();
List<Object> yoko = null;

yoko = new List<Object>();
tate.Add(yoko);

yoko = new List<Object>();
tate.Add(yoko);

yoko = new List<Object>();
tate.Add(yoko);

 これは縦横に制限を付けていません。どうしても制限を掛けたいなら、縦横のどちらかを固定配列にすれば良いでしょう。
あと、Object型にしていますが、使用する型に変更して下さい。その方が型チェックが掛るので、より安全です。
2012/02/27(Mon) 09:02:56 編集(投稿者)

■No29942に返信(菊池さんの記事)
返信ありがとうございます。
> もう少し具体的に困ってることを書いた方が良いように思います。
> 何を答えて良いかよく理解できませんでした。
すみませんでした。
> 下記のようなサイトは参考にならないでしょうか?
> http://mag.autumn.org/Content.modf?id=20040810213604
配列の配列と二次元配列って違うものだったんですね。
初めて知りました。

■No29943に返信(魔界の仮面弁士さんの記事)
返信ありがとうございます。
> DataTable では駄目ですか?
やってみました。
作成したDataTableから一つ一つ値を取得方法がわからず
手詰まってしまいましたが調べてみます。

■No29944に返信(まっつさんの記事)
返信ありがとうございます。
>  端的に書くと、以下の様にするのが無難かな。
> 雑に書いてあるけど、判りますよね?
とてもわかりやすかったです。

まっつさんのやり方で思っていた動作になりました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板