C# C:添加到列表会产生空引用异常

C# C:添加到列表会产生空引用异常,c#,C#,我试图在C中使用类似字符串列表的东西 数据格式: 家庭名称:树 价值:[香蕉、印楝、帕帕亚、椰子] ==== 家庭名称:动物 价值观:[猫、狗、猪、老虎、狮子] 我试过的代码: [DataContract(Name = "FamilyValuesMap", Namespace = "")] public class FamilyValuesMap { [DataMember(Name = "FamilyName&q

我试图在C中使用类似字符串列表的东西

数据格式:

家庭名称:树

价值:[香蕉、印楝、帕帕亚、椰子]

====

家庭名称:动物

价值观:[猫、狗、猪、老虎、狮子]

我试过的代码:

[DataContract(Name = "FamilyValuesMap", Namespace = "")]
    public class FamilyValuesMap
    {
        [DataMember(Name = "FamilyName", Order = 1)]
        public string FamilyName { get; set; }

        [DataMember(Name = "Values", Order = 2)]
        public List<string> Values { get; set; }
    }

    [CollectionDataContract(Name = "FamilyValuesMaps", ItemName = "FamilyValuesMap", Namespace = "")]
    public class FamilyValuesMaps : List<FamilyValuesMap>
    {
    }
我不确定混乱发生在哪里,代码不工作,它返回以下错误

Data: {System.Collections.ListDictionaryInternal}
HResult: -2147467261
HelpLink: null
InnerException: null
Message: "Object reference not set to an instance of an object."
Source: null
StackTrace: null
TargetSite: null
任何建议或想法都会有帮助吗?

您的值列表没有实例化。见下文

var FamilyValuesMaps = new FamilyValuesMaps();
FamilyValuesMaps.Add(new FamilyValuesMap 
                            { 
                              FamilyName = "Trees", 
                              Values = new List<string>() 
                                  { 
                                      "Banana", 
                                      "Neem", 
                                      "Pappaya", 
                                      "Coconut" 
                                  } 
                             }
                     );

您是否需要添加如下值:values=newlist{your,values,here}这是怎么回事?这只是一个列表。等效于普通的旧字符串数组。锯齿数组是包含其他数组的数组。例如,字符串[]或ListI无法应答,因为它关闭得太快。因此,这种集合初始化值={Banana,Neem,Pappaya,couch}只调用Add方法,因此仅当属性不为null时才起作用。将其声明为公共列表值{get;set;}=new List,它将工作。
var FamilyValuesMaps = new FamilyValuesMaps();
FamilyValuesMaps.Add(new FamilyValuesMap 
                            { 
                              FamilyName = "Trees", 
                              Values = new List<string>() 
                                  { 
                                      "Banana", 
                                      "Neem", 
                                      "Pappaya", 
                                      "Coconut" 
                                  } 
                             }
                     );