0
0
CsharpHow-ToBeginner · 3 min read

How to Use Logical Operators in C# - Simple Guide

In C#, logical operators like && (AND), || (OR), and ! (NOT) combine or invert boolean values. Use && to check if both conditions are true, || to check if at least one is true, and ! to reverse a condition's truth value.
📐

Syntax

Logical operators in C# work with boolean values (true or false). Here are the main operators:

  • condition1 && condition2: True if both conditions are true.
  • condition1 || condition2: True if at least one condition is true.
  • !condition: True if the condition is false (negation).
csharp
bool a = true;
bool b = false;

bool andResult = a && b;  // false
bool orResult = a || b;   // true
bool notResult = !a;      // false
💻

Example

This example shows how to use logical operators to check multiple conditions and print results.

csharp
using System;

class Program
{
    static void Main()
    {
        bool isSunny = true;
        bool haveUmbrella = false;

        if (isSunny && !haveUmbrella)
        {
            Console.WriteLine("It's sunny and you don't have an umbrella.");
        }

        if (isSunny || haveUmbrella)
        {
            Console.WriteLine("Either it's sunny or you have an umbrella.");
        }

        if (!isSunny && haveUmbrella)
        {
            Console.WriteLine("It's not sunny but you have an umbrella.");
        }
        else
        {
            Console.WriteLine("No need for an umbrella or it's sunny.");
        }
    }
}
Output
It's sunny and you don't have an umbrella. Either it's sunny or you have an umbrella. No need for an umbrella or it's sunny.
⚠️

Common Pitfalls

Common mistakes when using logical operators include:

  • Using a single & or | instead of && or || for boolean logic, which causes bitwise operations instead of logical.
  • Not using parentheses to group conditions, leading to unexpected results due to operator precedence.
  • Confusing == (equality) with = (assignment) inside conditions.
csharp
/* Wrong: uses bitwise AND instead of logical AND */
bool a = true;
bool b = false;
if (a & b)  // This compiles but is not logical AND
{
    Console.WriteLine("This won't print because bitwise AND is false.");
}

/* Correct: use logical AND */
if (a && b)
{
    Console.WriteLine("Logical AND checks both conditions.");
}
📊

Quick Reference

OperatorMeaningExampleResult
&&Logical ANDtrue && falsefalse
||Logical ORtrue || falsetrue
!Logical NOT!truefalse

Key Takeaways

Use && for AND, || for OR, and ! for NOT with boolean values in C#.
Always use double operators (&&, ||) for logical operations, not single (&, |).
Use parentheses to group conditions clearly and avoid confusion.
Logical operators help combine multiple true/false checks in if statements.
Negation (!) flips the truth value of a condition.