【发布时间】:2019-11-20 00:14:37
【问题描述】:
我有三门课。第一个类调用Data 类的AddInfo 方法。然后 Data 类实例化字典。最后,控制器类调用 getDictionary 方法。 它给了我一个错误:KeyNotFoundException: The given key 'info' was not present in the dictionary.
HomeController.cs
public IActionResult Index()
{
Data d = new Data();
var getDic = d.getDictionary();
var Info = getDic["First"];
return View(Info);
}
数据.cs
public interface IData
{
Dictionary<string, object> getDictionary();
void AddInfo(string infoName, TheObject obj);
}
public class Data : IData
{
public Dictionary<string, object> infoList;
public Data()
{
infoList = new Dictionary<string, object>();
}
public Dictionary<string, object> getDictionary()
{
return this.infoList;
}
public void AddInfo(string infoName, TheObject obj)
{
infoList.Add(infoName, obj);
}
}
【问题讨论】:
-
哪一行是发生错误的那一行?您可以发布将对象添加到
Data类的代码吗? -
@howcheng 错误发生在“var Info = getDic["First"];"看起来字典在添加信息之前被调用。
标签: c# asp.net-mvc dictionary asp.net-core