var a = new[] { new { no = 0,点数=99, 名前="山田",得意科目 = "数学" }, new{ no = 1,点数=99, 名前="山田",得意科目 = "数学" }, new{ no = 2,点数=75, 名前="鈴木",得意科目 = "英語" }, new{ no = 3,点数=60, 名前="田上",得意科目 = "数学" }, new{ no = 4,点数=80, 名前="木下",得意科目 = "地理" } }; List<int> no = new List<int>(); List<int> 点数 = new List<int>(); List<string> 名前 = new List<string>(); List<string> 得意科目 = new List<string>(); // 目的 // 一度にintやstringの情報を取れるデータを作りたいので それぞれを項目ごとにListにしてみたい。 // 例 // no2の生徒のデータが欲しい。 int ナンバー = 2; //1と入れる label1.text = no [ナンバー]; //2 label2.text = 点数[ナンバー]; //75 label3.text = 名前[ナンバー] //鈴木 label4.text = 得意科目[ナンバー]; //英語 コード
varの配列からListはが取り出せると嬉しいのですが考え方として間違っているのでしょうか?どなたかご教授頂けると嬉しいです。
本当はListにintやstringをごちゃまぜで保存したかったのですが無理みたいなので考えてみました。
var no2 = a.Where(x => x.no == 2).First();
これで no2 の生徒が取り出せますが、ふつうはこのように一人の生徒を取り出して一つ一つのラベルにデータを入れるのではなく、BindingSource を使います。
http://kitunechan.hatenablog.jp/entry/2015/04/16/123314
コメントありがとうございます。
Zuishinさんに先日教えて頂いたBindingSouce、タプルは見なくても書けるように何度も練習しました。現在大活躍しております。
大切と思われるフロー駆動型の事やBindingSouceの事は私の持っている入門書には なぜかほとんど載っておらずList、Dictionaryとの棲み分けなど感覚的に使えるようになりたいと思っておりました。
実践からくるコメントは非常に参考になります。
新しいやり方を試させて頂こうかと思います。
ありがとうございます。
回答2件
あなたの回答
tips
プレビュー