无论如何要优化此代码以进行空检查?
if (objA != null && objA .Length > 0)
{
foreach (var child in objA )
{
if (child.Any != null)
{
foreach (var a in child.Any)
{
if (a.Name.ToLower() == "code")
{
//some code
}
}
}
}
}
答案 0 :(得分:4)
我认为你想使用C#6 null条件?
运算符。这是一些伪代码:
for (int i = 0; i < objA?.Length; i++)
{
ExecuteCode(objA[i]?.Any);
}
...
static void ExecuteCode(YourTypeHere[] children)
{
for (int i = 0; i < children?.Length; i++)
{
if (children[i]?.Name?.ToLower() == "code")
{
//some code
}
}
}
使用for循环比foreach更快:In .NET, which loop runs faster, 'for' or 'foreach'?。两个循环都比Linq快一点。