質問編集履歴
4
誤字の訂正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
インデックス付きEnumerable.Selectメソッドでラムダ式がタプルを返すときにエラーとなる理由をしりたい。
|
1
|
+
インデックス付きEnumerable.Selectメソッドで匿名メソッド(ラムダ式)がタプルを返すときにエラーとなる理由をしりたい。
|
test
CHANGED
File without changes
|
3
書式の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,13 +8,17 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
Ⅰ
|
11
|
+
Ⅰ
|
12
12
|
|
13
|
+
以下のコードを書いたときに、エラーとなる理由を知りたい。
|
14
|
+
|
13
|
-
|
15
|
+
②、③のコードではなぜいけるのか知りたい。
|
14
16
|
|
15
17
|
|
16
18
|
|
19
|
+
Ⅱ
|
20
|
+
|
17
|
-
|
21
|
+
④のコードのときエラーとなる理由を知りたい。
|
18
22
|
|
19
23
|
Enumerable.Minメソッドは、Minメソッドをかける配列の内容の型がIComparableを実装しなければならない。
|
20
24
|
|
2
追加情報(コンソールへの入力例)、コメント入力してコードを見やすくしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -23,6 +23,40 @@
|
|
23
23
|
a,匿名型にはIComparableを実装できない?
|
24
24
|
|
25
25
|
b,タプル型のIComparableのCompareToメソッドの実装はどこで見れますか?(どういうルールで比較するの知りたい)
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
(↓↓↓追加情報↓↓↓)
|
34
|
+
|
35
|
+
問題文は以下のリンクにあります
|
36
|
+
|
37
|
+
[問題リンクB - Palace](https://atcoder.jp/contests/abc113/tasks/abc113_b)
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
コンソールへの入力例1
|
42
|
+
|
43
|
+
2
|
44
|
+
|
45
|
+
12 5
|
46
|
+
|
47
|
+
1000 2000
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
コンソールへの入力例2
|
52
|
+
|
53
|
+
3
|
54
|
+
|
55
|
+
21 -11
|
56
|
+
|
57
|
+
81234 94124 52141
|
58
|
+
|
59
|
+
|
26
60
|
|
27
61
|
|
28
62
|
|
@@ -102,27 +136,31 @@
|
|
102
136
|
|
103
137
|
|
104
138
|
|
105
|
-
//ダメ①
|
139
|
+
//ダメ① index+1
|
106
140
|
|
107
|
-
var res = elevations.Select(x => t - x * 0.006).Select(( double num, int index ) => (Math.Abs(num - a), index+1)).Min(x => x).index;
|
141
|
+
//var res = elevations.Select(x => t - x * 0.006).Select(( double num, int index ) => (Math.Abs(num - a), index+1)).Min(x => x).index;
|
108
142
|
|
109
143
|
|
110
144
|
|
145
|
+
//OK② indexそのまま
|
146
|
+
|
111
|
-
|
147
|
+
var res = elevations.Select(x => t - x * 0.006).Select(( double num, int index ) => (Math.Abs(num - a), index)).Min(x => x).index;
|
112
148
|
|
113
149
|
|
114
150
|
|
151
|
+
//OK③ Item2を使う。
|
152
|
+
|
115
|
-
//
|
153
|
+
//var res = elevations.Select(x => t - x * 0.006).Select(( double num, int index ) => (Math.Abs(num - a), index = index + 1)).Min(x => x).Item2;
|
116
154
|
|
117
155
|
//var res = elevations.Select(x => t - x * 0.006).ToArray().Select(( s, index ) => new Tuple<double, int>(Math.Abs(s - a), index + 1)).Min(d => d).Item2;
|
118
156
|
|
119
157
|
|
120
158
|
|
159
|
+
//ダメ④ 匿名型
|
160
|
+
|
121
|
-
//
|
161
|
+
//var res = elevations.Select(x => t - x * 0.006).Select(( double num, int index ) =>new { Diff = Math.Abs(num - a), Index = index }).Min(x => x).Index;
|
122
162
|
|
123
163
|
|
124
|
-
|
125
|
-
//var res2 = elevations.Select(( x, i ) => (Math.Abs(t - x * 0.006 - a), i)).Min(x => x).i;
|
126
164
|
|
127
165
|
Console.WriteLine(res + 1);
|
128
166
|
|
@@ -131,6 +169,8 @@
|
|
131
169
|
}
|
132
170
|
|
133
171
|
}
|
172
|
+
|
173
|
+
|
134
174
|
|
135
175
|
```
|
136
176
|
|
1
誤字の訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,13 @@
|
|
22
22
|
|
23
23
|
a,匿名型にはIComparableを実装できない?
|
24
24
|
|
25
|
-
b,タプル型のIComparableのCompareToメソッドの実装はどこで見れ
|
25
|
+
b,タプル型のIComparableのCompareToメソッドの実装はどこで見れますか?(どういうルールで比較するの知りたい)
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
ご回答、ご教授宜しくお願いいたします。。。。!!!
|
26
32
|
|
27
33
|
|
28
34
|
|