在列表对象c#中将项添加到属性(列表对象类型)

时间:2017-08-21 07:50:14

标签: c# linq

class temp
{
    public List<table> tables { get; set; }
    public string name { get; set; }
}

class table
{
    public string table { get; set; }
    public string table_type { get; set; }
}

List<temp> lst_temp = new List<temp>();
temp temp = new temp();
temp.name = "CUS";
lst_temp.Add(temp) 

我想在temp.tables中添加新表但是出现了这个错误:

  

附加信息:对象引用未设置为的实例   对象

这些是我尝试的方式,但仍然失败了,所以我必须做的事情:

table table = new table();
temp tem = lst_temp.SingleOrDefault(x => x.name == "CUS");
tem.tables.Add(syn_table);

table table = new table();
lst_temp_syn.Where(x => x.name == "CUS")
  .Select(x => { x.tables.Add(table); return x; })
  .ToList();

table table = new table();
foreach (temp tem in lst_temp)
  {
      if(tem.name = "CUS")
        tem.tables.Add(table); 
  }

1 个答案:

答案 0 :(得分:4)

您需要在temp的构造函数或初始化程序中构建表集合:

class temp
{
    public List<table> tables { get; set; }
    public string name { get; set; }

    public temp()
    {
        tables = new List<table>();
    }
}