You should use the boolean operator that works in your language. Pipe | works in C#
Here's msdn on the single |
Here's msdn on the double pipe ||
The deal with the double pipe is that it short-circuits (does not run the right expression if the left expression is true). Many people just use double pipe only because they never learned single pipe.
Double pipe's short circuiting behavior creates branching code, which could be very bad if a side effect was expected from running the expression on the right.
The reason I prefer single pipes in linq queries is that - if the query is someday used in linq to sql, the underlying translation of both of c#'s OR operators is to sql's OR, which operates like the single pipe.