このforeachをlinqに変換する方法??? MyReport.Elementsは5つの要素で構成されています。foreachをlinqクエリまたはラムダ式に変換する方法
foreach(var i in MyReport.Elements)
{
if(i.caption == table.caption)
{
newName = i.uname;
}
}
これを以下のようにlinqに変換するのに疲れましたが、うまくいかなかった。
newName = MyReport.Elements.ForEach(i => i.caption.Equals(table.caption)? i.uname : null);
いただきまし 'NEWNAMEを割り当てるポイントこのため、実際にあなたが与えてくれたコンテキスト内で重要な一つだけが最後正確に一致しています'もしそれが上書きされるのであれば? –
LINQはクエリであり、データを取得するために使用する必要があります。データを変更することはできません。あなたの条件を満たす述語を持つLastを呼び出すことはできますが、このケースではforeachを使用しても問題ありません。 – CrudaLilium