当我们使用foreach循环访问集合或数组时,必须确保集合或数组不为null,否则会抛出NullReferenceException异常。在C#中,有多种方式可以检查集合或数组是否为null,本篇攻略将带你了解其中的两种方法。
方法1:使用if判断
我们可以使用if条件语句来判断集合或数组是否为null。在使用foreach循环之前,先检查集合或数组是否为null。如果是null,可以抛出ArgumentNullException异常或自定义异常,否则就可以安全地使用foreach遍历集合或数组。
下面是使用if判断的示例代码:
List<string> list = null;
if (list == null)
{
throw new ArgumentNullException("list", "集合不能为空");
}
else
{
foreach (string item in list)
{
Console.WriteLine(item);
}
}
上述代码中,我们首先将list设置为null,然后通过if判断,判断list是否为null,如果list为null,则抛出ArgumentNullException异常并输出“集合不能为空”的提示信息,否则就使用foreach循环遍历集合而打印出其中的元素。
方法2:使用null合并运算符
C# 6.0引入了null合并运算符??,可以简化判断集合或数组是否null的代码。
下面是使用null合并运算符的示例代码:
List<string> list = null;
foreach (string item in list ?? throw new ArgumentNullException("list"))
{
Console.WriteLine(item);
}
上述代码中,我们将list设置为null,然后使用foreach循环遍历集合,但并未进行null判断。这时候,我们使用null合并运算符??,当list为null时,就会抛出ArgumentNullException异常并输出“list不能为空”的提示信息。如果list不为null,则foreach循环会遍历集合并输出其中的元素。
总结:以上就是C#检查foreach判断是否为null的两种方法。我们可以根据实际情况选择不同的方法,保证程序的健壮性和稳定性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#检查foreach判读是否为null的方法 - Python技术站