回答編集履歴

1

ID重複なし考慮の手段を追記

2018/07/24 15:54

投稿

len_souko
len_souko

スコア1348

test CHANGED
@@ -13,3 +13,71 @@
13
13
 
14
14
 
15
15
  なお、DBから取得する場合は個人的にはDapperさんがおすすめ
16
+
17
+
18
+
19
+ IDが重複しないのなら以下のやり方でもありかもしれないけど、
20
+
21
+ 作ったデータもDataTableにしないといけないとなるとListにしてPersonのIDのコメントを外して
22
+
23
+ .First(r => r.ID == row.Field<int>("ID"))で対象のインスタンスを拾って体重を設定した後、
24
+
25
+ 最後にList<>を.ToDataTable()する感じかな?
26
+
27
+ ```C#
28
+
29
+ //以下のクラスを定義しておいて
30
+
31
+ public class Person
32
+
33
+ {
34
+
35
+ //public int ID{get;set;}
36
+
37
+ public string 名前{get;set;} = string.Empty;
38
+
39
+ public double 身長{get;set;} = 0.0;
40
+
41
+ public double 体重{get;set;} = 0.0;
42
+
43
+ }
44
+
45
+
46
+
47
+ //Dictionaryに設定していく
48
+
49
+ var dic = new Dictionary<int, Person>();
50
+
51
+
52
+
53
+ foreach(var row in tableA)
54
+
55
+ {
56
+
57
+ dic[row.Field<int>("ID")] = new Person
58
+
59
+ {
60
+
61
+ 名前 = row.Field<string>("名前"),
62
+
63
+ 身長 = row.Field<double>("身長")
64
+
65
+ };
66
+
67
+ }
68
+
69
+
70
+
71
+ foreach(var row in tableB)
72
+
73
+ {
74
+
75
+ var p = dic[row.Field<int>("ID")];
76
+
77
+ p.体重 = row.Field<double>("体重");
78
+
79
+ }
80
+
81
+
82
+
83
+ ```