Bird
Raised Fist0
PowerShellscripting~5 mins

Ternary operator (PowerShell 7+) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the ternary operator in PowerShell 7+?
The ternary operator is a compact way to write an if-else statement in one line. It uses the syntax: condition ? valueIfTrue : valueIfFalse.
Click to reveal answer
beginner
How do you write a ternary operator to check if a number is even or odd in PowerShell?
You can write: $result = ($number % 2 -eq 0) ? 'Even' : 'Odd'. This sets $result to 'Even' if the number is divisible by 2, otherwise 'Odd'.
Click to reveal answer
intermediate
True or False: The ternary operator in PowerShell 7+ can only be used with simple expressions.
False. The ternary operator can be used with any expressions, including complex ones, as long as they return a value.
Click to reveal answer
beginner
What will this PowerShell code output?
$age = 20; $status = ($age -ge 18) ? 'Adult' : 'Minor'; $status
It will output Adult because the condition $age -ge 18 (age greater or equal to 18) is true.
Click to reveal answer
beginner
Why use the ternary operator instead of a full if-else statement?
The ternary operator makes code shorter and easier to read when you have simple conditions that assign values based on true or false.
Click to reveal answer
What is the correct syntax of the ternary operator in PowerShell 7+?
Acondition : valueIfTrue ? valueIfFalse
Bif (condition) {valueIfTrue} else {valueIfFalse}
Ccondition ? valueIfTrue : valueIfFalse
Dcondition ? valueIfFalse : valueIfTrue
What will this output?
$x = 5; $y = ($x -gt 10) ? 'Big' : 'Small'; $y
ABig
B5
CError
DSmall
Can the ternary operator be nested in PowerShell 7+?
AYes, you can nest ternary operators.
BNo, nesting is not allowed.
COnly with special syntax.
DOnly in PowerShell 5.1.
Which PowerShell version introduced the ternary operator?
APowerShell 5.1
BPowerShell 7
CPowerShell 6
DPowerShell 4
What does this code do?
$result = ($true) ? 'Yes' : 'No'
ASets $result to 'Yes'
BSets $result to 'No'
CThrows an error
DSets $result to $true
Explain how the ternary operator works in PowerShell 7+ and give a simple example.
Think of it as a short if-else that picks one of two values.
You got /3 concepts.
    Describe a situation where using the ternary operator makes your PowerShell script easier to read.
    When you want to choose between two values quickly.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the ternary operator condition ? true-value : false-value do in PowerShell 7+?
      easy
      A. It comments out a line of code.
      B. It chooses one of two values based on a condition.
      C. It defines a function with two parameters.
      D. It creates a loop that runs twice.

      Solution

      1. Step 1: Understand the ternary operator structure

        The ternary operator uses a condition followed by a question mark, then a value if true, a colon, and a value if false.
      2. Step 2: Identify its purpose

        It evaluates the condition and returns the true-value if the condition is true, otherwise the false-value.
      3. Final Answer:

        It chooses one of two values based on a condition. -> Option B
      4. Quick Check:

        Ternary operator = choose value based on condition [OK]
      Hint: Think: condition ? yes : no picks one value fast [OK]
      Common Mistakes:
      • Confusing ternary with loops
      • Thinking it defines functions
      • Assuming it comments code
      2. Which of the following is the correct syntax for the ternary operator in PowerShell 7+?
      easy
      A. condition ? true-value : false-value
      B. if (condition) { true-value } else { false-value }
      C. condition ? true-value, false-value
      D. condition : true-value ? false-value

      Solution

      1. Step 1: Recall the ternary operator syntax

        The ternary operator uses the format: condition ? true-value : false-value.
      2. Step 2: Compare options

        'if (condition) { true-value } else { false-value }' is an if-else statement, not ternary. 'condition ? true-value, false-value' uses comma instead of colon. 'condition : true-value ? false-value' has question mark and colon swapped. Only 'condition ? true-value : false-value' matches exactly.
      3. Final Answer:

        condition ? true-value : false-value -> Option A
      4. Quick Check:

        Correct ternary syntax = condition ? true : false [OK]
      Hint: Look for question mark then colon in correct order [OK]
      Common Mistakes:
      • Using commas instead of colon
      • Swapping question mark and colon
      • Using if-else instead of ternary
      3. What is the output of this PowerShell code?
      $age = 20
      $result = $age -ge 18 ? 'Adult' : 'Minor'
      Write-Output $result
      medium
      A. True
      B. Minor
      C. Adult
      D. False

      Solution

      1. Step 1: Evaluate the condition

        The condition is $age -ge 18, which means age greater or equal to 18. Since $age is 20, the condition is true.
      2. Step 2: Apply ternary operator

        Because the condition is true, the ternary operator returns 'Adult'.
      3. Final Answer:

        Adult -> Option C
      4. Quick Check:

        20 >= 18 ? 'Adult' : 'Minor' = Adult [OK]
      Hint: Check condition result first, then pick true or false value [OK]
      Common Mistakes:
      • Confusing true and false branches
      • Misreading the comparison operator
      • Expecting boolean output instead of string
      4. Identify the error in this PowerShell ternary expression:
      $score = 75
      $grade = $score -gt 90 ? 'A' ? 'B'
      medium
      A. Missing colon ':' between true and false values.
      B. Using wrong comparison operator '-gt'.
      C. Variables must be declared with 'var' keyword.
      D. Ternary operator cannot be used with strings.

      Solution

      1. Step 1: Check ternary operator syntax

        The ternary operator requires a question mark '?' after the condition, then the true-value, then a colon ':', then the false-value.
      2. Step 2: Identify the error in the code

        The code uses two question marks '?' but misses the colon ':'. This breaks the syntax.
      3. Final Answer:

        Missing colon ':' between true and false values. -> Option A
      4. Quick Check:

        Correct ternary = condition ? true : false [OK]
      Hint: Remember ternary needs '?' then ':' in order [OK]
      Common Mistakes:
      • Using '?' twice without ':'
      • Confusing comparison operators
      • Thinking variables need 'var' keyword
      5. You want to assign a variable $status to 'Pass' if $score is 50 or more, 'Fail' otherwise. Which PowerShell ternary expression correctly does this?
      hard
      A. $status = if ($score -ge 50) { 'Pass' } else { 'Fail' }
      B. $status = $score >= 50 ? 'Pass' : 'Fail'
      C. $status = $score ? 'Pass' : 'Fail'
      D. $status = $score -ge 50 ? 'Pass' : 'Fail'

      Solution

      1. Step 1: Understand the condition and syntax

        The condition is $score -ge 50 (greater or equal 50). PowerShell uses '-ge' for numeric comparisons, and ternary syntax is condition ? true-value : false-value.
      2. Step 2: Evaluate options

        $status = $score -ge 50 ? 'Pass' : 'Fail' uses correct comparison operator '-ge' and correct ternary syntax. $status = $score >= 50 ? 'Pass' : 'Fail' uses '>=', which is invalid in PowerShell. $status = if ($score -ge 50) { 'Pass' } else { 'Fail' } uses if-else, not ternary. $status = $score ? 'Pass' : 'Fail' uses $score as condition directly, which is incorrect.
      3. Final Answer:

        $status = $score -ge 50 ? 'Pass' : 'Fail' -> Option D
      4. Quick Check:

        PowerShell ternary with '-ge' = $status = $score -ge 50 ? 'Pass' : 'Fail' [OK]
      Hint: Use '-ge' for numeric compare and '?' then ':' for ternary [OK]
      Common Mistakes:
      • Using '>=', which is invalid in PowerShell
      • Using if-else instead of ternary
      • Using variable alone as condition
      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