我在执行代码的这一部分之前尝试检查GroupEmails
是否为null
。但是,每当我检查null
值时,都会返回错误Cannot resolve symbol GroupEmails
是否有更好的解决方案?
代码
Group = new DB.Group
{
GroupPhones = groupPhones,
GroupEmails = new List<DB.GroupEmail>
{
new DB.GroupEmail
{
Email = groupt.Email
}
}
}
尝试检查是否为null,如下所示:
Group = new DB.Group
{
GroupPhones = groupPhones,
GroupEmails == null ? null : new List<DB.GroupEmail>
{
new DB.GroupEmail
{
Email = groupt.Email
}
}
}
修改后的解决方案感谢@Habib
Group = new DB.Group
{
GroupPhones = groupPhones,
GroupEmails = group.Email == null ? null : new List<DB.GroupEmail>
{
new DB.GroupEmail
{
Email = groupt.Email
}
}
}
答案 0 :(得分:1)
object initializer中无需检查为null。
GroupEmails == null ? null : new List<DB.GroupEmail>
GroupEmails
属性正在new DB.Group
的对象初始值设定项中初始化。
这甚至不应该编译,因为您无法在对象初始化程序中的属性/字段上执行这些检查。
如果您想要初始化您的财产GroupEmail
而不考虑数据,那么您可以这样做:
Group = new DB.Group
{
GroupPhones = groupPhones,
GroupEmails = new List<DB.GroupEmail>(),
}
或者如果您想将group.Email
与null进行比较,则可以执行以下操作:
GroupEmails = group.Email == null ? null : new List<DB.GroupEmail>
{
new DB.GroupEmail
{
Email = groupt.Email
}
}
答案 1 :(得分:1)
您正在创建该对象,因此我不确定您为什么要检查null
...
var group = new DB.Group();
group.GroupPhones = groupPhones;
group.GroupEmails = new List<DB.GroupEmail>();
group.GroupEmails.Add(new DB.GroupEmail() { Email = groupt.Email });