检查可空值

本文关键字:空值 检查 | 更新日期: 2023-09-27 17:53:32

在执行这段代码之前,我试图检查GroupEmails是否为null。但是,每当我检查null值时,它返回错误Cannot resolve symbol GroupEmails是否有更好的解决方案?

Group = new DB.Group
{
    GroupPhones = groupPhones,
    GroupEmails = new List<DB.GroupEmail>
    {
        new DB.GroupEmail
        {
            Email = groupt.Email
        }
    }
}

尝试检查是否为空,如下所示:

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
                                                  }
                                                }
}

检查可空值

不需要在对象初始化器中检查是否为空。

 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
                                            }
                                          }

您正在创建对象,所以我不确定为什么要检查null

var group = new DB.Group();
group.GroupPhones = groupPhones;
group.GroupEmails = new List<DB.GroupEmail>();
group.GroupEmails.Add(new DB.GroupEmail() { Email = groupt.Email });