如何将foreach转换为linq查询或lambda表达式
本文关键字:查询 lambda 表达式 linq foreach 转换 | 更新日期: 2023-09-27 18:17:13
如何将此foreach转换为linq??MyReport。元素由5个元素组成。
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 );
只要有匹配,您的示例将继续分配。因此,在给定的上下文中,唯一重要的是最后一个精确匹配:
// C# 6
newName = MyReport.Elements.Where(x => x.caption == table.caption).LastOrDefault()?.uname;
Live/REPL示例:https://repl.it/ETVT/2