It comes down to the same thing. I find the first example easier to read, and with less noise. From a run-time persepctive, it's also the same. If SendMailOnError is true, you end up with this:
In the other example, you end up with:
Code:
if (true == true)
{}
which results in:
So, it's the same thing after all. Use whatever you find the easiest to read. I recall from my first ventures in .NET that I find your second example easier to read as well. Once you get used to the first form, you may find that easier.
Cheers,
Imar