回答編集履歴
1
.NET 5未満でも実行できるように変更
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
LINQを使って次のようにスッキリに出来るかと思います。
|
1
|
+
LINQを使って次のようにスッキリに出来るかと思います。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
using System.Collections.Generic;
|
12
12
|
|
13
|
-
|
13
|
+
|
14
14
|
|
15
15
|
public class Program
|
16
16
|
|
@@ -22,15 +22,15 @@
|
|
22
22
|
|
23
23
|
var array1 = new string[,]{ {"a","1"}, {"b", "2"}};
|
24
24
|
|
25
|
-
var array2 = new string[,]{ {"a","
|
25
|
+
var array2 = new string[,]{ {"a","3"}, {"c", "3"}};
|
26
26
|
|
27
|
-
|
27
|
+
|
28
28
|
|
29
29
|
foreach(var t in Program.ToTuples(array1).Concat(Program.ToTuples(array2))
|
30
30
|
|
31
31
|
.GroupBy(row => row.Item1)
|
32
32
|
|
33
|
-
.Select(t => (t.Key, t.Sum(row => row.Item2))) ) {
|
33
|
+
.Select(t => Tuple.Create(t.Key, t.Sum(row => row.Item2))) ) {
|
34
34
|
|
35
35
|
Console.WriteLine(t.Item1 + " " + t.Item2);
|
36
36
|
|
@@ -38,17 +38,17 @@
|
|
38
38
|
|
39
39
|
}
|
40
40
|
|
41
|
-
static IEnumerable<
|
41
|
+
static IEnumerable<Tuple<string, int>>ToTuples(string[,] array) {
|
42
42
|
|
43
43
|
for (int i=0; i < array.GetLength(0); i++) {
|
44
44
|
|
45
|
-
yield return (array[i,0], int.Parse(array[i,1]));
|
45
|
+
yield return Tuple.Create(array[i,0], int.Parse(array[i,1]));
|
46
46
|
|
47
47
|
}
|
48
48
|
|
49
49
|
}
|
50
50
|
|
51
|
-
|
51
|
+
|
52
52
|
|
53
53
|
}
|
54
54
|
|