为列表中的属性指定null值

本文关键字:null 属性 列表 | 更新日期: 2023-09-27 18:27:22

我已声明列表如下

 List<myList> mylist= new List<myList>();

这是myList 的类

internal class myList
{
    public int ID { set; get; }
    public string Name { set; get; }
}

现在,当在列表中添加记录时,"名称"字段中几乎没有来自数据库的空值。

mylist.Add(new myList{ ID= (int) item["ID"], Name = item["Name"].ToString()});

我知道我可以像一样添加条件进行检查

var Name ="";
if (item["Name"] !=null) {
      Name = item["Name"]
}

然后在添加记录以列出时使用变量Name

mylist.Add(new myList{ ID= (int) item["ID"], Name = Name});

还有其他更好的方法吗?

为列表中的属性指定null值

我怀疑您在这里寻找null合并运算符,以便在现有值是null引用的情况下提供默认值。

// Names changed to look more conventional
people.Add(new Person { Id = (int) item["ID"], Name = (string) item["Name"] ?? "" });

请注意这里使用的是强制转换,而不是对ToString()的调用——如果您认为值的执行时间类型将是字符串引用,则强制转换更清楚地表明了这一点,并且它验证了这种期望;如果由于某种原因最终得到DateTime值,则强制转换将抛出异常,而不是通过系统传播坏数据。