C# 空数组上的c“索引超出数组边界”
我犯了一个错误 '索引超出了数组的边界 在这一行上,字符串Open=array[0];当数组为空时 我使用if语句来查看当数组为空时它是否可以被旁路 然而,为什么我仍然得到这个错误?我怎样才能绕过/修复它C# 空数组上的c“索引超出数组边界”,c#,C#,我犯了一个错误 '索引超出了数组的边界 在这一行上,字符串Open=array[0];当数组为空时 我使用if语句来查看当数组为空时它是否可以被旁路 然而,为什么我仍然得到这个错误?我怎样才能绕过/修复它 if (array != null || array.Length != 0) { int c = array.Count(); string Open = array[0].ToS
if (array != null || array.Length != 0)
{
int c = array.Count();
string Open = array[0].ToString(); <--- ERROR
}
这一定是
if (array != null && array.Length != 0)
这一定是
if (array != null && array.Length != 0)
改变
if (array != null || array.Length != 0)
到
改变
if (array != null || array.Length != 0)
到
在if语句中使用了逻辑OR运算符。您应该使用AND运算符& 如果两个条件中的任何一个为true,OR将计算为true,所以只要数组不为null,if语句就会运行 应该是:
if (array != null && array.Length != 0)
在if语句中使用了逻辑OR运算符。您应该使用AND运算符& 如果两个条件中的任何一个为true,OR将计算为true,所以只要数组不为null,if语句就会运行 应该是:
if (array != null && array.Length != 0)
可以检查空数组的长度。但是,如果您尝试在空引用上执行此操作,您将得到一个异常。这里需要检查null和数组长度的&&条件
if (array != null && array.Length != 0)
可以检查空数组的长度。但是,如果您尝试在空引用上执行此操作,您将得到一个异常。这里需要检查null和数组长度的&&条件
if (array != null && array.Length != 0)
IndexOutOfRangeException是仅在运行时引发的运行时异常
根据您的问题,似乎您应该像其他人所说的那样同时使用null和length检查
if (array != null && array.Length != 0)
但因为您并没有将任何答案标记为已接受,所以我必须告诉您将代码放入下面的try-and-catch块中
try
{
if (array != null && array.Length != 0)
{
int c = array.Count();
string Open = array[0].ToString(); <--- ERROR
}
}
catch(Exception ex)
{
// Put breakpoint here and see inner exception by hovering your mouse cursor over ex.
}
您将在内部异常中获得有关此类问题的更多详细信息。IndexOutOfRangeException是仅在运行时引发的运行时异常
根据您的问题,似乎您应该像其他人所说的那样同时使用null和length检查
if (array != null && array.Length != 0)
但因为您并没有将任何答案标记为已接受,所以我必须告诉您将代码放入下面的try-and-catch块中
try
{
if (array != null && array.Length != 0)
{
int c = array.Count();
string Open = array[0].ToString(); <--- ERROR
}
}
catch(Exception ex)
{
// Put breakpoint here and see inner exception by hovering your mouse cursor over ex.
}
您将在“内部异常”中获得有关此类问题的更多详细信息。您能给我们展示一下您的阵列吗?您能给我们展示一下您的阵列吗