C# 避免出现数组越界错误

需要对长度进行判断,如果下标越界,会出错:

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);

 

结果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章