俺の拙い脳みそから記憶が揮発しないように、あえて書いています。
ブログにでも書け!というご意見は謹んでスルーします。
#すぐにLINQでハマるのが、僕の悪いクセ
List<string> strings の中から、"a"で始まる要素があるかを判断する場合。
strings.Any(str => str.StartWith("a"));
これは知ってたから、すんなり解決できた。
でも、違う壁にぶちあったんだ。
#Anyでできないことってあるの?
こういう存在の有無を確認する系は、Anyさえ使えればanything OK!だと思ってた。
###次はすべて"a"で始まるか?の判断
あの時(といっても数日前)の俺は若かった。
strings.Any(str => !str.StartWith("a"));
「いやいや!これじゃ"a"で始まらない要素がある証明だろ!」
というのはチェッカーの言葉。かなり声は荒めで。
いやープッシュする前に自分でテストしてないんかい!って話なんですけど(笑
###答えは教えてくれないんだ
仕方なく自分の席に戻り考えること数秒。
なんだ簡単じゃん!で提出したのがこれ。
!strings.Any(str => str.StartWith("a"));
無言で突き返された。
そして、マネージャーに呼び出された。理由は説明するまでもないよね。また、テストせずにプッシュしたんだ。
ちなみにこれだと"a"で始まる要素がないことの証明だね。そうだね、プロテインだね。
##あれ?Anyじゃできないの?
なんとか俺のしょうもない脳みそで絞り出した結果。
!strings.Any(str => !str.StartWith("a"));
あれ、できたんじゃないか??
"a"で始まらない要素が無い == 全ての要素が"a"で始まっているということ。
狂喜乱舞してプルリク!
#ただの不勉強だったという結論
こう書くんだって。
strings.All(str => str.StartWith("a"));
わかりやすい。。。圧倒的ッ!