こんにちは、Linq の All と ForEach の違いを理解しようとしています。
All は条件のチェックに使用され、述語が満たされている場合は bool を返すことを知っています。しかし、述語内に割り当てがある場合、それは単に正常に機能し、文句を言いません。
その場合の ForEach の使用は何ですか? または、どのような場合に ForEach を使用するか
少しばかげているかもしれませんが、重要性を知る必要があります
実際にForEach
はLINQにはありません(意図的に)。List<T>.ForEach
リスト内の各オブジェクトに対してアクションを実行するメソッドがあります。
主な違いはAll
フィルターです。すべての項目が述語に一致する場合に true を返します。 List<T>.ForEach
副作用を作成するために存在します-リスト内の各アイテムに対して何らかの操作を実行します。
一般に、副作用を引き起こす LINQ を使用したクエリを避け (つまり、クエリで操作を実行しない)、代わりにforeach
後でループに入れます。これにより、意図が非常に明確になり、保守性が向上します。
List<T>.ForEach
実際には多くの価値を追加しないため、実際には WinRT フレームワークから削除されたことに注意してください。Eric Lippert は、の代わりにを使用するというテーマで素晴らしい記事を書きました。foreach
List<T>.ForEach