こんばんは。きわさです。
C#のLinqについて色々書いてきましたが、まだまだあります。
他のものをいくつか書いていきます。
Any
これはリストの中に条件を満たす要素があるかを判定できます。
List<User> list = new List<User> () { // ユーザー情報 }; bool check1 = list.Any(user => user.Id == 10); bool check2 = list.Where(user => user.Age < 20).Any();
check1は、listにIdが10のユーザーがいればtrue、
check2は、listにAgeが20未満のユーザーがいればtrueとなります。
また、check1とcheck2で書き方が違いますが、条件をWhereに書いてもAnyに書いても同様です。
bool check3 = list.Where(user => user.Age < 20).Count() > 0
のような書き方は、全ての要素を数えてしまいますが、
Anyは条件を満たすものが1つでもあればtrueを返すので、Anyを使用しましょう。
All
こちらはリストの中のすべての要素が条件を満たす場合にtrueとなります。
var check4 = list.All(user => user.Age < 20).ToList();
全てのUserのAgeが20未満かどうかを判定します。
OrderBy
リストの要素を昇順で並び替えます。
var newList = list.OrderBy(user => user.Age).ToList();
この場合はAgeが低い要素から高い要素への順になります。
OrderByの代わりにOrderByDescendingを使うと逆順の降順となります。
これらも使用頻度がわりと高いと思います。
覚えておきたいですね。