如果我有一个字符串列表
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
}
答案 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);