防止数组上的IndexOutOfRangeException

时间:2013-02-15 01:29:09

标签: c#

当我尝试访问特定的数组索引时,我正在寻找一种防止IndexOutOfRangeException的方法。

我有一个通用代码,有时会在array[index]处有值,有时则没有。

所以,在尝试获得它的价值之前,我尝试过这些检查:

if(array[index] != null) {
    ... Do Stuff
}

也尝试过:

if(!String.IsNullOrEmpty(array[index])) {
    ... Do Stuff
}

他们都拥有一个IndexOutOfRangeException

我该如何执行此检查?

2 个答案:

答案 0 :(得分:11)

很简单:

if (index < array.Length)

答案 1 :(得分:0)

你也可以使用try ... catch来抑制错误。蛮力?

try
{
   var x = array[index];
}
catch(Exception ex)
{
}

更好

if(array.Length > index)
   var x = array[index];