索引器应该抛出异常

时间:2013-07-22 13:20:29

标签: c#

假设我们有一个简单的Person类:

public Person this[int index]
{
get { return (Person)arPeople[index]; }
set { arPeople.Insert(index, value); }
}

假设我有一个包含N个Person对象的数组。 如果我尝试访问不存在的索引(例如N + 1),我应该在这种情况下抛出异常还是返回null?在这种情况下有哪些考虑因素?

提前致谢...

1 个答案:

答案 0 :(得分:2)

嗯,这取决于什么是“预期”行为以及您是否可以从错误中恢复。在这种情况下,您决定返回null是否为有效返回值。大多数情况下,当索引无效时,集合索引器应抛出ArgumentOutOfRangeException