- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# 配列の配列(多次元配列?))
C#配列の配列(多次元配列?)
このQ&Aのポイント
- C#において、配列の配列中に格納した値を、検索することを行いたいのですが、格納した値そのものを見ることができません。
- 配列に格納した値で、データチェックなどを行う予定です。テキストファイル内のデータは要素数も固定ではなく変動します。
- 配列「list」内に入っている値を閲覧する方法を教えていただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
次のようにして取り出します。 ((ArrayList)list[0]) [0] ArrayListの変数に添字演算子を付けることでそれぞれの要素を取り出すことができます。 例 list[0] ただし、取り出した型は object 型となってしまうため元の正しい型に型変換する必要があります。 例 (ArrayList)list[0] これはArrayListを使用する上でよく使われる手法なので覚えておくと良いかもしれません。 蛇足ですが、listtmpの変数宣言はwhile文の中で行ったほうが良いのでは? あと、最新のC#を使っているのなら List<>型を使ったほうが平易かと思います。 List<String> listtmp = new List<String>(); List<List<String>> list = new List<List<String>>(); listtmp.Add("test"); list.Add(listtmp); System.Console.WriteLine(list[0][0]); ArrayListの場合はあらゆる種類の変数をobject型に変換してリストとして扱えます。 ただし、objectに変換されるため値を取り出すときに元の型に変換する必要があります。 GenericのList型は扱う変数の型を固定することで値の取り出し時の手間を省けます。 Generic型を使うので慣れない人には若干高度に感じられるかもしれないので参考までに
お礼
直ぐに回答していただき、ありがとうございます。 ((ArrayList)list[0]) [0].ToString(); で値を取り出すことができました。 listtmpの変数宣言は、while文の中で行うようにします。 list配列の値が取り出せなかった時に、試行錯誤したときに、 外に出していたことをすっかり忘れていました。 ご指摘いただきまして、ありがとうございます。 あと、C#の環境ですが、最新のではなく2003年版のため、 List型は使用できないみたいです。。。(おそらく) 教えていただいた内容で、修正していきたいと思います。 本当に、ありがとうございます。