質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

455閲覧

C#のListの使い方について

peppome

総合スコア8

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2017/06/27 13:31

編集2017/06/27 13:34

c#でプログラムを作成しているのですが
Listの使い方がわからず使用方法が正しいのかがわかりません。
下記コードではList<dataModel>としdata1data3の値はベタ書きで取得するようにしています。
data4
data5が問題でしてdata4~data5は複数の値を取得できるようにしたいのですが、
うまく行きません。。。
改善点などがありましたらご教授いただけますでしょうか。

C#

1//モデル 2public class dataModel 3{ 4 public string data1 { get; set; } 5 public string data2 { get; set; } 6 public string data3 { get: set; } 7 public int data4 { get: set; } 8 public int data5 { get: set; } 9}

上記を用いてListを作成します。

C#

1dataModel model = new dataModel 2List<dataModel> list = new List<dataModel>(); 3 4//値のセット 5model.data1 = "値1" 6model.data2 = "値2" 7model.data3 = "値3" 8 9//複数の値をセット 10for (int i = 0; i < 10; i++) { 11 model.data4 = i; 12 model.data5 = i * 10; 13 list.Add(model); 14} 15list.Add(model); 16 17return list;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/06/27 13:51

list は dataModel 10 個のコレクションということはなんとなくわかりますが、最終的にどういう内容にしたいのかコードからは分かりません。言葉で書いていただけますか?
peppome

2017/06/27 14:05

わかりにくく申し訳ありません。すでに解決してしまったのですが、dataModelコレクションに対して、1つの値を入れるもの、複数の値を入れられるものの作成方法がわからなかったのでご質問させていただきました。
guest

回答1

0

ベストアンサー

forの外にList<int>をdata4とdat5用に2つ作って
forを回しながらそれぞれのListに値を突っ込む。
data4とdata5のintをやめてList<int>にする。
という方法を思いつきました。

C#

1using System; 2using System.Collections.Generic; 3 4namespace listtest3 5{ 6 class Program 7 { 8 public class dataModel 9 { 10 public string data1 { get; set; } 11 public string data2 { get; set; } 12 public string data3 { get; set; } 13 public List<int> data4 { get; set; } 14 public List<int> data5 { get; set; } 15 } 16 17 static void Main(string[] args) 18 { 19 dataModel model = new dataModel(); 20 List<dataModel> list = new List<dataModel>(); 21 22 model.data1 = "値1"; 23 model.data1 = "値2"; 24 model.data1 = "値3"; 25 26 List<int> for_data4 = new List<int>(); 27 List<int> for_data5 = new List<int>(); 28 29 for(int i = 0; i < 10; i++) 30 { 31 for_data4.Add(i); 32 for_data5.Add(i * 10); 33 } 34 35 model.data4 = for_data4; 36 model.data5 = for_data5; 37 38 list.Add(model); 39 40 Console.WriteLine(string.Join(" ", list[0].data5)); 41 42 Console.ReadKey(); 43 } 44 } 45} 46

投稿2017/06/27 13:40

編集2017/06/27 13:49
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

peppome

2017/06/27 14:03

プロパティに必要なListを定義していけばやりたいことができそうです! ありがとうございます!
退会済みユーザー

退会済みユーザー

2017/06/27 15:29

どういたしまして。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問