Given that a typical coding mantra is "Don't induce side effects in method calls." and that the only reason (that I know off - please enlighten me if I'm wrong) to not use short circuited operators is when you depend on the side effects of a method call in subsequent code. Why isn't the default operator in languages like C# and VB.NET not a short circuited version?
IE:
if (Method1() & Method2()) {
}
if Method1 And Method2 then
End if
if (Method1() | Method2()) {
}
if Method1 Or Method2 then
End if
Would actually (by default) mean
if (Method1() && Method2()) {
}
if Method1 AndAlso Method2 then
End if
if (Method1() || Method2()) {
}
if Method1 OrElse Method2 then
End if