C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

プロパティに値を設定する方法

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■97569 / inTopicNo.1)  プロパティに値を設定する方法
  
□投稿者/ もーりー (1回)-(2021/06/07(Mon) 15:12:58)

分類:[C#] 

現在、CSVファイルからデータを読み込み、読み込んだデータをModelクラスのプロパティにセットする処理を書いています。
プロパティが多くなった場合でもforeachなどを利用してデータをセットするところを簡略化して書けないかと思い下記のような処理を書いてみたのですが、
Modelクラスのプロパティすべてに同じ値がセットされてしまいます。
何か他の方法や改善点等がありましたら教えて頂きたいです。

while (!File.EndOfStream)
{
string line = File.ReadLine().Replace("\"", string.Empty).Trim();
_valueList = line.Split(',');

Model m = new Model();

for (int i = 0; i < _valueList.Length; i++)
{
foreach (var item in typeof(Model).GetProperties())
{
item.SetValue(m, _valueList[i]);
}
}
List.Add(m);
}
引用返信 編集キー/
■97572 / inTopicNo.2)  Re[1]: プロパティに値を設定する方法
□投稿者/ furu (115回)-(2021/06/07(Mon) 15:24:27)
No97569 (もーりー さん) に返信
> Modelクラスのプロパティすべてに同じ値がセットされてしまいます。
1行の処理はループ1つでいい筈なのに
2重ループ(for, foreach)になってしまっています。
引用返信 編集キー/
■97573 / inTopicNo.3)  Re[2]: プロパティに値を設定する方法
□投稿者/ もーりー (2回)-(2021/06/07(Mon) 15:38:51)
No97572 (furu さん) に返信
> ■No97569 (もーりー さん) に返信
>>Modelクラスのプロパティすべてに同じ値がセットされてしまいます。
> 1行の処理はループ1つでいい筈なのに
> 2重ループ(for, foreach)になってしまっています。

無事にやりたい処理を行うことができました。ご指摘ありがとうございました!
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ