嗨,这是我的C#代码获取idexoutofrange异常我可能知道如何解决它 [英] Hi here is my C# code getting idexoutofrange exception may I know how to fix it
本文介绍了嗨,这是我的C#代码获取idexoutofrange异常我可能知道如何解决它的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
private void ShowOldMedicalNoteCommandHandler()
{
if (null != this.MedicalElements)
{
NavigatedIndex = NavigatedIndex + 1;
var medicalNote = MedicalElements[NavigatedIndex];
NavigateMedicalNote(medicalNote);
IsNewestEnabled = true;
IsOldestEnabled = MedicalElements.Count - 1 != NavigatedIndex;
}
}
我的尝试:
What I have tried:
private void ShowOldMedicalNoteCommandHandler()
{
if (null != this.MedicalElements)
{
NavigatedIndex = NavigatedIndex + 1;
var medicalNote = MedicalElements[NavigatedIndex];
NavigateMedicalNote(medicalNote);
IsNewestEnabled = true;
IsOldestEnabled = MedicalElements.Count - 1 != NavigatedIndex;
}
}
推荐答案
显然NavigatedIndex
是大于MedicalElements.Count
所以只需检查一下:
ObviouslyNavigatedIndex
is greater than theMedicalElements.Count
so just check for it:
...
NavigatedIndex = NavigatedIndex + 1;
if(NavigatedIndex < MedicalElements.Count)
{
var medicalNote = MedicalElements[NavigatedIndex];
NavigateMedicalNote(medicalNote);
IsNewestEnabled = true;
IsOldestEnabled = MedicalElements.Count - 1 != NavigatedIndex;
}
else
{
// handle this case accordingly
}
显然,错误源于:
Apparently, the mistake stems from:
MedicalElements[NavigatedIndex]
当值为
when the value of
NavigatedIndex
大于
is greater than the number of items in
MedicalElements
中的项目数减一,不要忘记像数组一样的集合中的索引零。要防止这种情况发生,请使用计数 [ ^ ]。
minus one, not to forget indices in a collection like array start from zero. To prevent this, use Count [^].
这篇关于嗨,这是我的C#代码获取idexoutofrange异常我可能知道如何解决它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文