ホームページ >バックエンド開発 >C++ >LINQ が C# でコレクションのプロパティを効率的に更新するにはどうすればよいですか?

LINQ が C# でコレクションのプロパティを効率的に更新するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-20 13:01:08580ブラウズ

How Can LINQ Efficiently Update Properties of a Collection in C#?

LINQ を使用した C# コレクションの更新の最適化

LINQ は、オブジェクトのコレクション全体のプロパティを変更するための効率的な方法を提供します。 ForEach 拡張メソッドはループのような構文を提供します。

<code class="language-csharp">collection.ForEach(c => c.PropertyToSet = value);</code>

純粋に LINQ ベースのアプローチでも同じ結果が得られます。

<code class="language-csharp">collection.Select(c => { c.PropertyToSet = value; return c; }).ToList();</code>

重要なことに、ToList() は即時実行を強制し、LINQ 固有の遅延評価を克服します。

実際的な例を考えてみましょう: ブログのコメントのタイムスタンプを更新します。 ビジネスレイヤー内の各コメントの DateAdded プロパティに 10 時間を追加するには:

<code class="language-csharp">var comments = _context.Comments.Where(c => c.BlogPostId == blogPostId);

comments.Select(c => { c.DateAdded = c.DateAdded.AddHours(10); return c; }).ToList();

_context.SaveChanges();</code>

この LINQ アプローチにより、更新プロセスが合理化され、SQL を直接操作する必要がなくなり、データ変更がビジネス ロジックにきちんと統合されます。

以上がLINQ が C# でコレクションのプロパティを効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。