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!