В языках программирования, следующих соглашениям о синтаксисе C, например в C++, Perl, Java и C#, одинарная вертикальная черта (|) обозначает побитовое «или», а двойная вертикальная черта (||) — логическое «или». 25
Таким образом, разница между одинарной и двойной вертикальной чертой заключается в том, что первая выполняет операцию побитового «или», а вторая — логического «или». 25