Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为IDictionary创建实例<;int,string>;?_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 如何为IDictionary创建实例<;int,string>;?

C# 如何为IDictionary创建实例<;int,string>;?,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我的模型是 public IDictionary<int, string> QuestionSetList { get; set; } 请告诉我如何解决这个问题。您不能实例化接口,因为接口只是一个合同。它没有任何实现 您需要实例化一个实现接口的类型。在这种情况下,您可以使用实现IDictionary的字典,您必须实例化保存字典的变量。这就是为什么会出现NullReferenceException 试试下面的方法 private IDictionary<int, string&

我的模型是

public IDictionary<int, string> QuestionSetList { get; set; }

请告诉我如何解决这个问题。

您不能实例化接口,因为接口只是一个合同。它没有任何实现


您需要实例化一个实现接口的类型。在这种情况下,您可以使用实现
IDictionary

字典,您必须实例化保存字典的变量。这就是为什么会出现NullReferenceException

试试下面的方法

private IDictionary<int, string> _questionSetList;
public IDictionary<int, string> QuestionSetList 
{ 
  get
  {
    if (_questionSetList == null)
    {
      _questionSetList = Dictionary<int, string>();
    }
    return _questionSetList;
  }
  set
  {
    _questionSetList = value;
  }
}
privateidictionary\u问题集列表;
公共词典问题集列表
{ 
收到
{
如果(_questionSetList==null)
{
_questionSetList=字典();
}
返回问题集列表;
}
设置
{
_问题集列表=值;
}
}

可能说明了显而易见的问题,但它们是
模型
问题集列表
问题集否
问题集主题
空?问题集否显然不会为空,因为它是不可空的类型。请编辑您的答案,解释答案中的代码说明了什么。转储代码可能对OP现在有所帮助,但他们和未来的访问者都不会从复制粘贴代码中学到任何东西。@user743414这不是重点。一个好的答案不一定需要提供有效的代码,但它绝对需要从概念上解释什么被破坏了。当通过getter访问时,该代码从不抛出NullReferenceException。
private IDictionary<int, string> _questionSetList;
public IDictionary<int, string> QuestionSetList 
{ 
  get
  {
    if (_questionSetList == null)
    {
      _questionSetList = Dictionary<int, string>();
    }
    return _questionSetList;
  }
  set
  {
    _questionSetList = value;
  }
}