回答編集履歴

3

訂正

2020/12/24 02:28

投稿

退会済みユーザー
test CHANGED
@@ -128,7 +128,7 @@
128
128
 
129
129
 
130
130
 
131
- var innnerjoin = ... のコードで取得した innnerjoin の中身を書き換えるということのようですので、Linq で GroupBy を使ってというのはかえって面倒な気がします。
131
+ ~~var innnerjoin = ... のコードで取得した innnerjoin の中身を書き換えるということのようですので、Linq で GroupBy を使ってというのはかえって面倒な気がします。~~ 下の追記を書く前はそういう気がしたのですが、面倒ということはなかったです。分かり難いとは思いますが。
132
132
 
133
133
 
134
134
 

2

追記

2020/12/24 02:28

投稿

退会済みユーザー
test CHANGED
@@ -136,7 +136,7 @@
136
136
 
137
137
 
138
138
 
139
- GroupBy を使ったコードも追記しておきます。
139
+ GroupBy を使ったコードも追記しておきます。結局ループを回して処置するのですが。
140
140
 
141
141
 
142
142
 

1

追記

2020/12/24 02:06

投稿

退会済みユーザー
test CHANGED
@@ -128,4 +128,92 @@
128
128
 
129
129
 
130
130
 
131
- var innnerjoin = ... のコードで取得した innnerjoin の**中身を書き換える**ということのようですので、Linq で GroupBy を使ってというのはかえって面倒な気がします。
131
+ var innnerjoin = ... のコードで取得した innnerjoin の中身を書き換えるということのようですので、Linq で GroupBy を使ってというのはかえって面倒な気がします。
132
+
133
+
134
+
135
+ **【追記】**
136
+
137
+
138
+
139
+ GroupBy を使ったコードも追記しておきます。
140
+
141
+
142
+
143
+ ```
144
+
145
+ Console.WriteLine("=======================================");
146
+
147
+
148
+
149
+ List<ResultDT> innerjoin2 = new List<ResultDT>
150
+
151
+ {
152
+
153
+ new ResultDT { No = 1, 名前 = "satou", 枝番号 = 1 },
154
+
155
+ new ResultDT { No = 2, 名前 = "satou", 枝番号 = 1 },
156
+
157
+ new ResultDT { No = 3, 名前 = "kagaya", 枝番号 = 1 },
158
+
159
+ new ResultDT { No = 4, 名前 = "gotou", 枝番号 = 1 },
160
+
161
+ new ResultDT { No = 5, 名前 = "gotou", 枝番号 = 1 },
162
+
163
+ new ResultDT { No = 6, 名前 = "gotou", 枝番号 = 1 }
164
+
165
+ };
166
+
167
+
168
+
169
+ foreach (ResultDT result in innerjoin2)
170
+
171
+ {
172
+
173
+ Console.WriteLine($"No: {result.No}, 名前: {result.名前}, 枝番号: {result.枝番号}");
174
+
175
+ }
176
+
177
+
178
+
179
+ Console.WriteLine("-----------------------------------");
180
+
181
+
182
+
183
+ IEnumerable<IGrouping<string, ResultDT>> num = innerjoin2.GroupBy(r => r.名前).Where(g => g.Count() > 1);
184
+
185
+ foreach (IGrouping<string, ResultDT> item in num)
186
+
187
+ {
188
+
189
+ int i = 1;
190
+
191
+ foreach (ResultDT result in item)
192
+
193
+ {
194
+
195
+ result.枝番号 = i++;
196
+
197
+ }
198
+
199
+ }
200
+
201
+
202
+
203
+ foreach (ResultDT result in innerjoin2)
204
+
205
+ {
206
+
207
+ Console.WriteLine($"No: {result.No}, 名前: {result.名前}, 枝番号: {result.枝番号}");
208
+
209
+ }
210
+
211
+ ```
212
+
213
+ 結果は同じです。以下の画像の ========== の下がそれです。
214
+
215
+
216
+
217
+
218
+
219
+ ![イメージ説明](3db940da3ea30f633bd78a032122b656.jpeg)