有没有更好(更好)的方法来编写这个if语句?
Array a =null, b= null, c= null, d= null;
if(a!=null && b!=null && c!=null && d!=null)
{ //// TODO }
答案 0 :(得分:5)
您可以制作一个adhoc集合,然后对其执行Linq All查询:
if(!(new [] {a, b, c, d}).Any(_ => _ == null)) {
Console.WriteLine("None of the arrays are null");
}
尝试here。
编辑:我刚看到您的评论。看起来你想在很多不同大小的地方使用它,所以你可以这样做:
static bool areNoneNull(params object[] things) {
return !things.Any(_ => _ == null);
}
public static void Main(String[] args) {
if(areNoneNull(a, b, c, d)) {
/* Do stuff */
}
if(areNoneNull(x, y)) {
/* Do different stuff */
}
}
答案 1 :(得分:0)
您可以使用此方案的数组列表:即:
Array a =null, b= null, c= null, d= null;
List<Array> listArray = new List<Array>() { a, b, c, d};
if (listArray.Any(x => x == null))
{
// array contains null value
}
else {
// do something
}