Are these if-statements too fancy? I just rewrote this:

if (budgetRemaining != 0 || totalOpenInvoices != 0)
{
}


Like this:

if (new[] { budgetRemaining, totalOpenInvoices }.Any(c =&gt; c != 0))
{
}


If I had seen that before I ramped up on Linq, it would have confused me.  Now that I've been learning functional programming and using Linq, it seems natural, but is it sacrificing simplicity?
Seems to be swatting a fly with a Buick to me. The first form seems pretty concise and the variable names are quite descriptive. The second form creates a new object (the array) which will eventually have to be GC'd and introduces a new lambda variable, c which doesn't seem descriptive any more.