C# 防止数组上的IndexOutOfRangeException

C# 防止数组上的IndexOutOfRangeException,c#,C#,我正在寻找一种方法来防止在尝试访问特定数组索引时发生IndexOutOfRangeException 我有一个通用代码,它有时在array[index]处有值,有时没有值 因此,在尝试获取其值之前,我尝试了以下检查: if(array[index] != null) { ... Do Stuff } 还尝试: if(!String.IsNullOrEmpty(array[index])) { ... Do Stuff } 他们都提出了一个非同寻常的观点 如何执行此检查?非常简

我正在寻找一种方法来防止在尝试访问特定数组索引时发生IndexOutOfRangeException

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

因此,在尝试获取其值之前,我尝试了以下检查:

if(array[index] != null) {
    ... Do Stuff
}
还尝试:

if(!String.IsNullOrEmpty(array[index])) {
    ... Do Stuff
}
他们都提出了一个非同寻常的观点

如何执行此检查?

非常简单:

if (index < array.Length)
if(索引
您也可以使用try。。。捕获以抑制错误。畜生

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

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

首先,为什么代码试图访问数组边界之外的内存?不要试图抓住错误。。删除错误。
数组的类型是什么?
?刚刚修复。我的代码需要一些bug修复。这是其中之一。我只是好奇为什么我不能检查空索引。谢谢,虽然这是正确的。。我觉得它应该在循环初始化器中。。而不是从内部检查(我假设这是一个循环)。谢谢。成功了。我必须修复我的代码以防止出现这种情况。我只是好奇为什么不检查空值working@GuilhermeLongo:
Array[999]
不是
null
;相反,它根本不存在。在比较之前,首先获取值时出现异常。