これをメソッド構文でlinq文に変換しようとしています。 foreachループがif文を持っているときに、どうすればいいのか分かりません。以下のコードでは、MyMethodToConvertは、私はこれを試してみましたDateTime.Nowif文を含むforeachループをC#のlinqメソッド構文にカバーする
foreach (var data in MyCollection)
{
if (data.DeliveryDate.Equals("Tomorrow"))
{
data.DeliveryDate = MyMethodToConvert(DeliveryDate);
}
}
に文字列「明日」を置き換え、tは
MyCollection = MyCollection.Select(a =>
{
a.DeliveryDate.Equals("Tomorrow")
? MyMethodToConvert(DeliveryDate)
: a.DeliveryDate)
;
return a;
}).ToList();
を動作しませんでした。しかし、それは動作しませんでした。
LINQは、コードを簡潔かつ明確にする場合に最適です。何が起こっているのかを隠しているとき、LINQは素晴らしいことではありません。あなたの「foreach」は、目的と結果に関して明確です。それを変更しないでください。 – crashmstr