LINQ を使用して次のことを実行する方法はありますか?
foreach (var c in collection)
{
c.PropertyToSet = value;
}
明確に言うと、コレクション内の各オブジェクトを反復処理し、各オブジェクトのプロパティを更新したいと考えています。
私のユースケースは、ブログ投稿にたくさんのコメントがあり、ブログ投稿の各コメントを反復処理して、ブログ投稿の日時を +10 時間に設定することです。SQL で実行することもできますが、ビジネス レイヤーで保持したいと考えています。
ベストアンサー1
拡張メソッドを使用することもできますがForEach
、フレームワークだけを使用する場合は次のようにします。
collection.Select(c => {c.PropertyToSet = value; return c;}).ToList();
遅延評価ToList
のため、選択をすぐに評価するには が必要です。