title: Elegantly determine if more than one boolean is "true"
body: <p>I have a set of five boolean values. If more than one of these are true I want to excecute a particular function. What is the most elegant way you can think of that would allow me to check this condition in a single if() statement? Target language is C# but I'm interested in solutions in other languages as well (as long as we're not talking about specific built-in functions). </p>
  
  <p>One interesting option is to store the booleans in a byte, do a right shift and compare with the original byte. Something like <code>if(myByte &amp;&amp; (myByte &gt;&gt; 1))</code> But this would require converting the separate booleans to a byte (via a bitArray?) and that seems a bit (pun intended) clumsy... <em>[edit]Sorry, that should have been</em> <code>if(myByte &amp; (myByte - 1))</code> <em>[/edit]</em></p>
  
  <p>Note: This is of course very close to the classical "population count", "sideways addition" or "Hamming weight" programming problem - but not quite the same. I don't need to know how many of the bits are set, only if it is more than one. My hope is that there is a much simpler way to accomplish this. </p>