回答編集履歴
11
文章構成の訂正その2
test
CHANGED
@@ -18,7 +18,11 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
Dictionary型の要素自体を取り出したい場合は
|
21
|
+
Dictionary型の要素自体を取り出したい場合は少し変則的になります。
|
22
|
+
|
23
|
+
NUMが最大値の要素を取得するには`OrderByDescending`メソッドを使います。
|
24
|
+
|
25
|
+
シーケンスをソートして先頭の要素を取ってくることで最大値を含む要素を検索します。
|
22
26
|
|
23
27
|
```C#
|
24
28
|
|
@@ -59,12 +63,6 @@
|
|
59
63
|
Console.WriteLine(value.No2); // => EEE
|
60
64
|
|
61
65
|
```
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
NUMが最大値の要素を取得するには`OrderByDescending`メソッドを使います。
|
66
|
-
|
67
|
-
シーケンスをソートして先頭の要素を取ってくることで最大値を含む要素を検索します。
|
68
66
|
|
69
67
|
|
70
68
|
|
10
文章校正の訂正その2
test
CHANGED
File without changes
|
9
文章校正の訂正
test
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
値のみを取得する場合にはozwkさんが前述されているように`Max`メソッドを使用しましょう。
|
6
|
+
|
7
|
+
まず、`Where`メソッドでNo1がAAAの要素に絞り込みます。
|
8
|
+
|
9
|
+
次に、`Max`メソッドで何の値の最大値を取得するかをデリゲートで指定します。
|
10
|
+
|
11
|
+
|
6
12
|
|
7
13
|
```C#
|
8
14
|
|
@@ -56,9 +62,7 @@
|
|
56
62
|
|
57
63
|
|
58
64
|
|
59
|
-
まず、`Where`メソッドでNo1がAAAの要素に絞り込みます。
|
60
|
-
|
61
|
-
NUMが最大値の要素を取得するには`OrderByDescending`メソッドを使
|
65
|
+
NUMが最大値の要素を取得するには`OrderByDescending`メソッドを使います。
|
62
66
|
|
63
67
|
シーケンスをソートして先頭の要素を取ってくることで最大値を含む要素を検索します。
|
64
68
|
|
8
表現を訂正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
値
|
5
|
+
値のみを取得する場合にはozwkさんが前述されているように`Max`メソッドを使用しましょう。
|
6
6
|
|
7
7
|
```C#
|
8
8
|
|
7
ozwkさんの説明に対する追記
test
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
値だけで十分であればozwkさんが前述されているように`Max`メソッドを使用しましょう。
|
6
|
+
|
7
|
+
```C#
|
8
|
+
|
9
|
+
int max = z.Where(item => item["NO1"] == "AAA").Max(item => int.Parse(item["NUM"]));
|
10
|
+
|
11
|
+
```
|
12
|
+
|
13
|
+
|
6
14
|
|
7
15
|
Dictionary型の要素自体を取り出したい場合は以下のようにすれば良いでしょう。
|
8
16
|
|
6
訂正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
値だけで十分であればozwkさんが前述されているように`Max`メソッドを使用
|
5
|
+
値だけで十分であればozwkさんが前述されているように`Max`メソッドを使用しましょう。
|
6
6
|
|
7
7
|
Dictionary型の要素自体を取り出したい場合は以下のようにすれば良いでしょう。
|
8
8
|
|
5
追記
test
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
値だけで十分であればozwkさんが前述されているように`Max`メソッドを使用するだけで十分です。
|
6
|
+
|
5
|
-
|
7
|
+
Dictionary型の要素自体を取り出したい場合は以下のようにすれば良いでしょう。
|
6
8
|
|
7
9
|
```C#
|
8
10
|
|
4
Dictionary型にあわせてコメントを追加
test
CHANGED
@@ -27,6 +27,16 @@
|
|
27
27
|
.OrderByDescending(x => x.NUM)
|
28
28
|
|
29
29
|
.FirstOrDefault();
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
// Dictionary型の場合以下のようになります
|
34
|
+
|
35
|
+
// values.Where(x => x["NO1"] == "AAA")
|
36
|
+
|
37
|
+
// .OrderByDescending(x => int.Parse(x["NUM"]))
|
38
|
+
|
39
|
+
// .FirstOrDefault();
|
30
40
|
|
31
41
|
|
32
42
|
|
3
追記の改善
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
※まず第一に、List<Dictionary<string,
|
1
|
+
※まず第一に、List<Dictionary<string, string>>の形式を止めた方が良いとは思いますが…時間があればクラスにしましょう
|
2
2
|
|
3
3
|
|
4
4
|
|
2
最初の1文を追記
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
※まず第一に、List<Dictionary<string, T>>の形式を止めた方が良いとは思いますが
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
No1の値毎に1回ずつLinqを実行する場合は以下のようにすれば良いでしょう。
|
2
6
|
|
3
7
|
```C#
|
1
語彙の変更
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
// No1を"AAA"で絞り込み、NUMを降順に並べ替えてからその先頭の
|
19
|
+
// No1を"AAA"で絞り込み、NUMを降順に並べ替えてからその先頭の要素1つを得る
|
20
20
|
|
21
21
|
var value = values.Where(x => x.No1 == "AAA")
|
22
22
|
|
@@ -32,15 +32,15 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
まず、`Where`メソッドでNo1がAAAの
|
35
|
+
まず、`Where`メソッドでNo1がAAAの要素に絞り込みます。
|
36
36
|
|
37
|
-
NUMが最大値の
|
37
|
+
NUMが最大値の要素を取得するには`OrderByDescending`メソッドを使えばよいでしょう。
|
38
38
|
|
39
|
-
|
39
|
+
シーケンスをソートして先頭の要素を取ってくることで最大値を含む要素を検索します。
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
-
|
43
|
+
最大値を含む要素をNo1の値毎に取得したい場合には`GroupBy`メソッドを使うと良いでしょう。
|
44
44
|
|
45
45
|
```C#
|
46
46
|
|
@@ -72,11 +72,11 @@
|
|
72
72
|
|
73
73
|
// 2. シーケンスをNUMの値で降順に並べ替えます
|
74
74
|
|
75
|
-
var result = values.GroupBy(
|
75
|
+
var result = values.GroupBy(x => x.No1)
|
76
76
|
|
77
|
-
.Select(g
|
77
|
+
.Select(g =>
|
78
78
|
|
79
|
-
g
|
79
|
+
g.OrderByDescending(x => x.NUM)
|
80
80
|
|
81
81
|
.First());
|
82
82
|
|
@@ -106,9 +106,11 @@
|
|
106
106
|
|
107
107
|
---
|
108
108
|
|
109
|
+
|
110
|
+
|
109
111
|
蛇足ですが、パフォーマンスを考えるとDBのSELECT文を変える方が良いこともあります。
|
110
112
|
|
111
|
-
|
113
|
+
より良いものを選択してください。
|
112
114
|
|
113
115
|
```SQL
|
114
116
|
|