回答編集履歴

1

LINQ を少し短くしました

2021/12/05 23:43

投稿

lehshell
lehshell

スコア1178

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 == 1).Select(x => x.idx).DefaultIfEmpty(-1).First();
25
+ .Where(c => c.v).Select(x => x.idx).DefaultIfEmpty(-1).First();
22
26
 
23
27
  Console.WriteLine(index);
24
28