当前位置: 首页 > 编程语言 > C#

IndexGetter中的IndexOutOfRangeException分享

时间:2023-04-10 21:11:50 C#

IndexGetter中的IndexOutOfRangeException在我的索引属性中,我检查索引是否超出范围。如果是,我抛出一个IndexOutOfBoundsException。当我运行CodeAnalyst(在VS12中)时,它会抱怨CA1065:意外的异常发生在意外的位置。仅参考CA1065System.InvalidOperationExceptionSystem.NotSupportedExceptionSystem.ArgumentExceptionKeyNotFoundExceptionAllowedingetteroftheindex的描述。抛出IndexOutOfBoundsException对我来说似乎很自然,那么这里的推理是什么?(是的,我知道我可以关闭警告,我只是想知道原因)ArgumentOutOfRangeException被很多类使用,包括List。这是ArgumentException的子类,因此应该满足规则。我猜你可能会争辩说,对于直接访问的向量等,实际上没有方法调用(它是一个专用的操作码ldelem*),所以在这种情况下索引并不是真正的参数。然而,这似乎是一个无力的论据。请参阅MSDN:IndexOutOfRangeException是一个系统异常,保留用于访问数组元素。它由一些MSIL指令抛出:ldelem。,ldelema,stelem..对于开发类使用ArgumentOutOfRangeException。以上就是C#学习教程的全部内容:indexgetter中的IndexOutOfRangeException。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: