如果x.ChildPeople为null,那么我将尝试使用Value cannot be null.
时收到错误x.ChildPeople.any()
。有其他方法吗?
var listOfPeople= es.GetPeople().Select(x => new PeopleViewModel
{
PeopleId = x.PeopleId,
Name = x.Name,
Child = x.ChildPeople.Select(c => new PeopleViewModel
{
PeopleId = c.PeopleId,
Name = c.Name
}).ToList()
}).ToList();
答案 0 :(得分:1)
将null
运算符与x.ChildPeople一起使用
Child = x.ChildPeople?.Select(c => new PeopleViewModel
{
PeopleId = c.PeopleId,
Name = c.Name
}).ToList()
答案 1 :(得分:0)
使用?是一个很好的情况。运算符:
Child = x.ChildPeople?.Select(c => new PeopleViewModel
{
PeopleId = c.PeopleId,
Name = c.Name
}).ToList()
请注意,如果c用于特定元素,则Child将为空。
最好潜入if语句并检查c是否为null,然后执行某种自定义逻辑:
if (x.ChildPeople == null)
{
Child = new PeopleViewModel();
}
else
{
Child = x.ChildPeople.Select(c => new PeopleViewModel
{
PeopleId = c.PeopleId,
Name = c.Name
}).ToList()
}
}