Bird
Raised Fist0
C Sharp (C#)programming~15 mins

Logical patterns (and, or, not) in C Sharp (C#) - Mini Project: Build & Apply

Choose your learning style10 modes available
Logical patterns (and, not) in C#
📖 Scenario: You are building a simple security system that checks if a person can enter a building based on their ID badge and time of entry.
🎯 Goal: Create a program that uses logical patterns and and not to decide if entry is allowed.
📋 What You'll Learn
Create a boolean variable hasIDBadge with value true or false
Create an integer variable entryHour representing the hour of entry (0 to 23)
Create a boolean variable isWeekend to indicate if it is weekend
Use logical operators && (and) and ! (not) to check entry conditions
Print "Entry allowed" if conditions are met, otherwise print "Entry denied"
💡 Why This Matters
🌍 Real World
Security systems often check multiple conditions like ID badges and time to allow or deny access.
💼 Career
Understanding logical operators is essential for writing conditions in software development, especially in security, validation, and decision-making code.
Progress0 / 4 steps
1
Create initial variables
Create a boolean variable hasIDBadge and set it to true. Create an integer variable entryHour and set it to 14.
C Sharp (C#)
Hint

Use bool for true/false and int for numbers.

2
Add weekend variable
Add a boolean variable isWeekend and set it to false.
C Sharp (C#)
Hint

Weekend means no workday, so set isWeekend to false for now.

3
Write entry condition using logical operators
Write an if statement that checks if hasIDBadge is true and entryHour is between 9 and 17 inclusive and it is not weekend (isWeekend is false). Use && for and and ! for not.
C Sharp (C#)
Hint

Use if (hasIDBadge && entryHour >= 9 && entryHour <= 17 && !isWeekend) to check all conditions.

4
Print the result
Inside the if block, write Console.WriteLine("Entry allowed"). Inside the else block, write Console.WriteLine("Entry denied").
C Sharp (C#)
Hint

Use Console.WriteLine to show the message on screen.

Practice

(1/5)
1.

Which logical operator in C# means both conditions must be true?

and, or, or not?
easy
A. and
B. or
C. not
D. xor

Solution

  1. Step 1: Understand the meaning of logical operators

    The and operator requires both conditions to be true for the whole expression to be true.
  2. Step 2: Compare with other operators

    or means one or both conditions are true, not negates a condition, and xor means exactly one condition is true.
  3. Final Answer:

    and -> Option A
  4. Quick Check:

    and means both true [OK]
Hint: Remember: and = both true, or = any true, not = reverse [OK]
Common Mistakes:
  • Confusing 'and' with 'or'
  • Thinking 'not' means both true
  • Mixing 'xor' with 'and'
2.

Which of these is the correct C# syntax for the logical NOT operator?

?
easy
A. not x
B. x!
C. !x
D. ~x

Solution

  1. Step 1: Recall C# logical NOT syntax

    In C#, the logical NOT operator is ! placed before the variable or expression.
  2. Step 2: Check other options

    not x is not valid C# syntax, ~x is bitwise NOT, and x! is invalid.
  3. Final Answer:

    !x -> Option C
  4. Quick Check:

    Logical NOT uses ! before expression [OK]
Hint: Logical NOT is always ! before the variable [OK]
Common Mistakes:
  • Using 'not' keyword instead of !
  • Confusing bitwise ~ with logical !
  • Placing ! after the variable
3.

What is the output of this C# code?

bool a = true;
bool b = false;
if (a && !b) {
    Console.WriteLine("Yes");
} else {
    Console.WriteLine("No");
}
medium
A. No
B. Yes
C. True
D. False

Solution

  1. Step 1: Evaluate variables and conditions

    Variable a is true, b is false, so !b is true.
  2. Step 2: Evaluate the if condition

    a && !b becomes true && true, which is true, so the if block runs.
  3. Final Answer:

    Yes -> Option B
  4. Quick Check:

    true and not false = true [OK]
Hint: Remember ! reverses boolean, so !false = true [OK]
Common Mistakes:
  • Ignoring the ! operator
  • Thinking false && true is true
  • Confusing output strings with boolean values
4.

Find the error in this C# code snippet:

bool x = true;
if (x && !x) {
    Console.WriteLine("True");
} else {
    Console.WriteLine("False");
}
medium
A. Using single & instead of &&
B. Missing semicolon after if statement
C. Incorrect use of Console.WriteLine
D. Contradictory condition: x and not x can never be true

Solution

  1. Step 1: Analyze the condition logic

    The condition x && !x means x is true AND x is false at the same time, which is impossible.
  2. Step 2: Check syntax correctness

    The syntax is correct: && is used properly, semicolons and Console.WriteLine are fine.
  3. Final Answer:

    Contradictory condition: x and not x can never be true -> Option D
  4. Quick Check:

    True and not true = false always [OK]
Hint: Check if condition can ever be true logically [OK]
Common Mistakes:
  • Thinking condition can be true
  • Confusing & with &&
  • Looking for syntax errors when logic is the issue
5.

You want to write a C# switch expression that returns "Valid" only if age is between 18 and 30 inclusive, and hasID is true. Which pattern correctly uses logical operators?

return (age, hasID) switch {
    ??? => "Valid",
    _ => "Invalid"
};
hard
A. var (a, id) when a >= 18 && a <= 30 && id
B. (>= 18 and <= 30 and true, hasID)
C. var a when a >= 18 && a <= 30 && hasID == true
D. (>= 18 and <= 30, true)

Solution

  1. Step 1: Understand switch pattern matching with tuples

    The switch matches a tuple (age, hasID). To check conditions on both, use a when clause with logical operators.
  2. Step 2: Analyze each option

    var (a, id) when a >= 18 && a <= 30 && id correctly uses tuple deconstruction var (a, id) and checks a >= 18 && a <= 30 && id (where id is boolean). Others are invalid syntax or misuse logical operators.
  3. Final Answer:

    var (a, id) when a >= 18 && a <= 30 && id -> Option A
  4. Quick Check:

    Tuple pattern with when and && is correct [OK]
Hint: Use tuple deconstruction with when and && for multiple conditions [OK]
Common Mistakes:
  • Trying to use and inside tuple without when
  • Misplacing logical operators outside when clause
  • Not deconstructing tuple properly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard