我有一个列表T,并且我有一个IEnumerable列表查询。我想将IEnumerable列表的选择/所有值添加到此列表T。我尝试了以下操作,但显示错误:无法将类型“List IEnumerable”隐式转换为泛型列表Reason。
我对LINQ很陌生,请指导。我尝试了以下方法:
public class Reason
{
public int ReasonId { get; set; }
public int OrderId { get; set; }
}
var newReason = new List<Reason>();
newReason = reasons?.Select(res => res.Select(re => new Reason()
{
ReasonId = re.ReasonId,
OrderId = re.OrderId,
})).ToList();
1条答案
按热度按时间e4eetjau1#
您正在尝试通过展平嵌套的
reasons
列表来创建Reason
示例的列表,请尝试SelectMany()
Select()
中的Select()
将返回IEnumerable<IEnumerable<Reason>>
,并且您需要将Reason
类的列表(即List<Reason>
)扁平化,因此使用SelectMany()