2

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

我有一个通用代码,有时它的值为array[index],而其他时候则没有。

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

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

也试过:

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

他们都引发了 IndexOutOfRangeException

我该如何执行此检查?

4

2 回答 2

11

很简单:

if (index < array.Length)
于 2013-02-15T01:30:46.077 回答
0

您也可以使用 try...catch 来抑制错误。蛮横的?

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

而且更好

if(array.Length > index)
   var x = array[index];
于 2013-02-15T01:43:27.823 回答