检查列表中是否存在位置[x]的元素

时间:2010-10-16 13:43:16

标签: c# list

如果我有一个字符串列表

List<String> list = new list<String>();
list.add("str1");
list.add("str2");
list.add("str3");

我想知道例如索引位置2是否包含元素,是否有一种简单的方法可以在不计算列表长度或使用try catch的情况下执行此操作?

由于这会失败,我可以用try catch来绕过它,但这似乎过分了

if(list.ElementAt(2) != null)
{
   // logic
}

3 个答案:

答案 0 :(得分:166)

if(list.ElementAtOrDefault(2) != null)
{
   // logic
}

ElementAtOrDefault()是System.Linq命名空间的一部分。

虽然您有一个列表,但您可以使用list.Count > 2

答案 1 :(得分:6)

if (list.Count > desiredIndex && list[desiredIndex] != null)
{
    // logic
}

答案 2 :(得分:-1)

int? here = (list.ElementAtOrDefault(2) != 0 ? list[2]:(int?) null);