如果为空以避免异常,如何检查列表中的第二项

时间:2017-12-16 00:19:07

标签: c# list

在C#中如何检查列表中的第二项是否为空以避免

  

未处理的类型' System.ArgumentOutOfRangeException'   指数超出范围。必须是非负数且小于   集合。

这种方式不起作用:

   if (MyList[id + 1] != null || MyList[id + 1] != "")
   {
        Var = MyList[id + 1];                    
   }

2 个答案:

答案 0 :(得分:1)

它不是空指针异常。这是一个索引超出范围的异常,是由于尝试访问MyList的索引大于MyList.length - 1.(减1,因为数组从索引0开始。)

答案 1 :(得分:0)

除了你正在做的事情之外,使用Length()属性(假设id是一个整数):

   if (MyList != null && MyList.Length() >= id && MyList[id + 1] != null || MyList[id + 1] != "")
   {
        Var = MyList[id + 1];                    
   }

根据您的列表类型,您可能必须使用Count()

   if (MyList != null && MyList.Count() >= id && MyList[id + 1] != null || MyList[id + 1] != "")
   {
        Var = MyList[id + 1];                    
   }