C# 声明对象集合时出现问题
当我运行这段代码时,当我尝试向tagCollection添加标记时,会出现一个空引用异常错误。我很高兴这是一个关于我如何声明tagCollection的问题,但我不确定我错在哪里 这两个类的设置使我能够在收集完数据后将集合序列化回JSON文件C# 声明对象集合时出现问题,c#,C#,当我运行这段代码时,当我尝试向tagCollection添加标记时,会出现一个空引用异常错误。我很高兴这是一个关于我如何声明tagCollection的问题,但我不确定我错在哪里 这两个类的设置使我能够在收集完数据后将集合序列化回JSON文件 class TagCollection { [JsonProperty("tags")] public List<Tag> Tags { get; set; } } public class Tag { [JsonP
class TagCollection
{
[JsonProperty("tags")]
public List<Tag> Tags { get; set; }
}
public class Tag
{
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("value")]
public string Value { get; set; }
}
private TagCollection tagCollection;
private void createCollection(){
tagCollection.Tags.Add(
new Tag { Name = "Test", Id = "tag1", Value = "145" }
);
}
类标记集合
{
[JsonProperty(“标记”)]
公共列表标记{get;set;}
}
公共类标签
{
[JsonProperty(“名称”)]
公共字符串名称{get;set;}
[JsonProperty(“id”)]
公共字符串Id{get;set;}
[JsonProperty(“价值”)]
公共字符串值{get;set;}
}
私人标记收集标记收集;
私有void createCollection(){
tagCollection.Tags.Add(
新标记{Name=“Test”,Id=“tag1”,Value=“145”}
);
}
更改此选项:
private TagCollection tagCollection;
为此:
private TagCollection tagCollection = new TagCollection();
你只是忘了给新的收藏品打电话
更新:您还需要更改标签声明(归功于user@John):
公共列表标记{get;set;}=new List();
OP将在标记上获得错误。现在也添加
。引用类型不会在C#中自动实例化private TagCollection TagCollection
和public List标记{get;set;}
都不引用任何内容,直到您为它们赋值(即新实例)。从副本上看。
public List<Tag> Tags { get; set; } = new List<Tag>();