回答編集履歴
1
LINQ を少し短くしました
test
CHANGED
@@ -10,15 +10,19 @@
|
|
10
10
|
|
11
11
|
```
|
12
12
|
|
13
|
-
LINQ だけで行うのであれば
|
13
|
+
LINQ だけで行うのであれば(12/06 少し改善)
|
14
14
|
|
15
15
|
```C#
|
16
16
|
|
17
17
|
string s = "aaaabc";
|
18
18
|
|
19
|
-
int index = s.Select((c, idx) => new { v = c == 'a' ? 0 : 1, idx })
|
19
|
+
//int index = s.Select((c, idx) => new { v = c == 'a' ? 0 : 1, idx })
|
20
20
|
|
21
|
+
// .Where(c => c.v == 1).Select(x => x.idx).DefaultIfEmpty(-1).First();
|
22
|
+
|
23
|
+
int index = s.Select((c, idx) => new { v = c != 'a', idx })
|
24
|
+
|
21
|
-
.Where(c => c.v
|
25
|
+
.Where(c => c.v).Select(x => x.idx).DefaultIfEmpty(-1).First();
|
22
26
|
|
23
27
|
Console.WriteLine(index);
|
24
28
|
|