需要对长度进行判断,如果下标越界,会出错:
List<string> test = new List<string>();
test.Add("beijing");
test.Add("shanghai");
test.Add(null);
test.Add("quzhou");
if (test.Count() >= 4)
{
string a = test[2] == null ? "" : "hello";
string b = test[3] == null ? "" : "world";
Console.WriteLine("a,b:{0} {1}", a, b);
}
结果:
------------------------------------------------------------------------------------
新方法,如果下标越界,可以填充默认值,不会出错:
List<string> test = new List<string>();
test.Add("beijing");
test.Add("shanghai");
test.Add(null);
test.Add("quzhou");
//if (test.Count() >= 4)
//{
// string a = test[2] == null ? "" : "hello";
// string b = test[3] == null ? "" : "world";
// Console.WriteLine("a,b:{0} {1}", a, b);
//}
string a = test.ElementAtOrDefault(3) ?? "hello";
string b = test.ElementAtOrDefault(4) ?? "world";
Console.WriteLine("a,b:{0} {1}", a, b);
结果: