我有以下代码:
IList<object> testList = null;
...
if (testList != null) // <- how to get rid of this check?
{
foreach (var item in testList)
{
//Do stuff.
}
}
有没有办法避免 foreach
之前的if
?我看到了一些解决方案,但是当使用 List
时,使用 IList
时有什么解决方案吗?
最佳答案
嗯,你可以试试??
运算符(operator):
testList ?? Enumerable.Empty<object>()
我们得到 testList
本身或一个空的 IEnumerable<object>
:
IList<object> testList = null;
...
// Or ?? new object[0] - whatever empty collection implementing IEnumerable<object>
foreach (var item in testList ?? Enumerable.Empty<object>())
{
//Do stuff.
}
关于c# - 如何避免在 foreach IList 之前进行空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58952656/