【问题标题】:Cannot set/get values to IDictionary<string,string> [duplicate]无法设置/获取 IDictionary<string,string> 的值 [重复]
【发布时间】:2015-08-28 16:48:23
【问题描述】:
public sealed class KnowledgeBase
{
    public KnowledgeBase(string json)
    {
        KnowledgeBaseItemId = "109";
        Description = "description";
        Filename = "abc.txt";
        TagInfo.Add("tagid","tagname");

    }

    public string KnowledgeBaseItemId { get; set; }

    public string Description { get; set; }

    public string Filename { get; set; }

    public string FCKText { get; set; }

    public string DateCreated { get; set; }

    public IDictionary<string,string> TagInfo  { get; set; }

}

这是我的代码 sn-p。它设置和获取 KnowledgeBaseItemId、Description、Filename 等的值。

但是当我尝试在这一行中向 IDictionary 添加/设置值时,它会引发异常

TagInfo.Add("tagid","tagname");.

例外是:

对象引用未设置为对象的实例。

请帮助我做错了什么。提前致谢!

【问题讨论】:

    标签: c# .net windows windows-phone-8.1


    【解决方案1】:

    您的TagInfo 字典未初始化。

    在添加元素之前添加TagInfo=new Dictionary&lt;string,strin&gt;()

    【讨论】:

    • 感谢您的快速回复。但是如何初始化呢?
    • @KishorBikramOli 在答案中......
    • 好吧,让我测试一下。再次感谢。如果有效,肯定会投票。干杯!
    【解决方案2】:

    使用 C#6 或更高版本的自动属性初始化程序分配默认值。

    public IDictionary<string,string> TagInfo  { get; set; } = new Dictionary<string,string>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      相关资源
      最近更新 更多