回答編集履歴

1

リクエストに応えて

2017/10/31 03:08

投稿

hihijiji
hihijiji

スコア4150

test CHANGED
@@ -57,3 +57,49 @@
57
57
  PS. DataTable は過去の遺物で、重たく扱いづらい代物です。
58
58
 
59
59
  また最近の主流であるLINQとは相性が悪いです。
60
+
61
+
62
+
63
+ -- リクエストにより追記 --
64
+
65
+ 一度匿名型にして Distinct 拡張メソッドで重複を取り除いています。
66
+
67
+ ```C#
68
+
69
+ var rows = targetDt.AsEnumerable()
70
+
71
+ .Join(otherDt.AsEnumerable(),
72
+
73
+ t => new { a = t.Field<string>("A"), b = t.Field<string>("B") },
74
+
75
+ o => new { a = o.Field<string>("A"), b = o.Field<string>("B") },
76
+
77
+ (t, o) => new
78
+
79
+ {
80
+
81
+ a = t.Field<string>("A"),
82
+
83
+ b = t.Field<string>("B"),
84
+
85
+ c = t.Field<string>("C"),
86
+
87
+ d = o.Field<string>("D")
88
+
89
+ })
90
+
91
+ .Distinct()
92
+
93
+ .Select(j =>
94
+
95
+ {
96
+
97
+ var row = response.NewRow();
98
+
99
+ row.ItemArray = new[] { j.a, j.b, j.c, j.d };
100
+
101
+ return row;
102
+
103
+ });
104
+
105
+ ```