如果我有一个字符串列表
List<String> list = new list<String>();
list.add("str1");
list.add("str2");
list.add("str3");
并且我想知道例如索引位置2是否包含一个元素,有没有一种简单的方法可以执行此操作而无需计算列表的长度或使用try catch?
由于这将失败,因此我可以尝试一下来解决问题,但这似乎过度
if(list.ElementAt(2) != null)
{
// logic
}
Answers:
if(list.ElementAtOrDefault(2) != null)
{
// logic
}
ElementAtOrDefault()是System.Linq名称空间的一部分。
尽管您有一个列表,所以可以使用list.Count > 2。
if (list.Count > desiredIndex && list[desiredIndex] != null)
{
// logic
}
IndexOf可以为-1
int? here = (list.ElementAtOrDefault(2) != 0 ? list[2]:(int?) null);