I use compound if statements instead of nested if's.  When using them, I wasn't exactly sure what the difference was between using && and &.  So I looked it up, and found this page: http://msdn.microsoft.com/library/default.asp?url=... on the MSDN site.

 

For the person that doesn't want to read that here's a synopsis:

x && y 

where y is evaluated only if x is true

and

x || y

where y is evaluated only if x is false

 

Lets take a real example of this from my code:

if(!Page.IsPostBack || this.Visible)

vs

if(!Page.IsPostBack | this.Visible)

 

In the first, if the page does not post back the first statement is true, which mean that this.Visible will not be evaluated.

Since I want both expressions to be evaluated, I use the second statement.  If I don't, even is the (control) is not visible the code below will still execute.  That's not what I intended it to do!