7

こんにちは、Linq の All と ForEach の違いを理解しようとしています。

All は条件のチェックに使用され、述語が満たされている場合は bool を返すことを知っています。しかし、述語内に割り当てがある場合、それは単に正常に機能し、文句を言いません。

その場合の ForEach の使用は何ですか? または、どのような場合に ForEach を使用するか

少しばかげているかもしれませんが、重要性を知る必要があります

4

1 に答える 1

15

実際にForEachはLINQにはありません(意図的に)。List<T>.ForEachリスト内の各オブジェクトに対してアクションを実行するメソッドがあります。

主な違いはAllフィルターです。すべての項目が述語に一致する場合に true を返します。 List<T>.ForEach副作用を作成するために存在します-リスト内の各アイテムに対して何らかの操作を実行します。

一般に、副作用を引き起こす LINQ を使用したクエリを避け (つまり、クエリで操作を実行しない)、代わりにforeach後でループに入れます。これにより、意図が非常に明確になり、保守性が向上します。

List<T>.ForEach実際には多くの価値を追加しないため、実際には WinRT フレームワークから削除されたことに注意してください。Eric Lippert は、の代わりにを使用するというテーマで素晴らしい記事を書きました。foreachList<T>.ForEach

于 2013-09-25T16:50:13.593 に答える