Emotion Wave Tech Blog

福岡にあるエモーションウェーブ株式会社のエンジニアが書いています。

ループなんか書きたくない(出来るだけ)

最近、C#ばっかりやってるのですが、ループは出来るだけ書かないように気を付けています。

f:id:devew:20191227120904j:plain photo credit: Eddy.H via photopin cc

例えばintのリストがあって、そのリストの中から値が5以下の値のみリストで取得するとき、 今までは以下のように書いていました。

ループの部分で8行ぐらいですね。 ジェネリックなメソッドにすれば共通化できそうですね。 まあ、それは置いといて。

これをループしない書き方にします。

LINQの拡張メソッドを使えば1行で書けます。 (追記:List#FindAllってメソッドがあって、それでも同様なことが出来るようです) いやー、こんな素敵なことが出来るC#に若干魅了されています。 そして、今までの書き方を疑って、こんな場合どう書いたら効率的だろう?って考えたり聞いたりすることが多くなった気がします。 本当に面白い言語だと思います。

(参考にさせて頂きました。ありがとうございます) LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く