【发布时间】:2016-12-20 20:02:41
【问题描述】:
所以我正在开发一个 UWP 应用程序,并且我正在使用 MVVM 来解析 JSON 文件,但有时(并不总是但足以令人担忧)我收到此错误:
“System.ArgumentOutOfRangeException”类型的异常发生在 mscorlib.ni.dll 中,但未在用户代码中处理
附加信息:索引超出范围。必须为非负数且小于集合的大小。
而且总是出现在这一行:
public BackgroundViewModel SelectedGame
{
get { return (_SelectedIndex >= 0) ? _game[_SelectedIndex]: null; }
}
我正在解析的文本文件也没有那么大:
[{"name" : "BrainBox", "image" : "/Images/BrainBox.jpg"},
{ "name" : "DownToATea",
"image" : "/Images/DownToATea.jpg"},
{ "name" : "FoalShadow",
"image" : "/Images/FoalShadow.png"},
{ "name" : "GoWithTheBuffLow",
"image" : "/Images/GoWithTheBuffLow.jpg"},
{ "name" : "SpotTheDifference",
"image" : "/Images/SpotTheDifference.png"}
]
任何关于此事的帮助将不胜感激
【问题讨论】:
-
你需要学习如何调试你的代码。五秒钟,你就会得到答案。 msdn.microsoft.com/en-us/library/sc65sadd.aspx
-
@Will 我正在尝试,但仍然无法找到答案,所以我想我会问而不是把整个事情拆开试图修复它
-
@Jeroen 被别人解决了
-
没有必要“把整个事情分开”。在索引到数组之前,您没有执行边界检查。 不要那样做。
-
@Will 好吧,我和我的老师都在通过应用程序和调试器,看不到错误,所以我想我会问一些更有经验的人。新鲜的眼睛有时是最好的事情