Bird
0
0

Which method implementation correctly operates on the state safely?

hard🚀 Application Q15 of 15
C Sharp (C#) - Classes and Objects
You have a class BankAccount with a private field balance. You want to add a method Withdraw that subtracts an amount only if there is enough balance. Which method implementation correctly operates on the state safely?
Apublic decimal Withdraw(decimal amount) { return balance - amount; }
Bpublic void Withdraw(decimal amount) { balance -= amount; }
Cpublic void Withdraw(decimal amount) { if (amount <= balance) balance -= amount; else Console.WriteLine("Insufficient funds"); }
Dpublic void Withdraw(decimal amount) { if (amount < 0) balance += amount; }
Step-by-Step Solution
Solution:
  1. Step 1: Check for safe state update conditions

    Method should only subtract amount if balance is enough to avoid negative balance.
  2. Step 2: Verify method behavior on insufficient funds

    public void Withdraw(decimal amount) { if (amount <= balance) balance -= amount; else Console.WriteLine("Insufficient funds"); } checks amount <= balance and prints a message if not enough, preventing invalid state.
  3. Final Answer:

    public void Withdraw(decimal amount) { if (amount <= balance) balance -= amount; else Console.WriteLine("Insufficient funds"); } -> Option C
  4. Quick Check:

    Safe state update with condition = public void Withdraw(decimal amount) { if (amount <= balance) balance -= amount; else Console.WriteLine("Insufficient funds"); } [OK]
Quick Trick: Check balance before subtracting to avoid negative state [OK]
Common Mistakes:
MISTAKES
  • Subtracting without checking balance
  • Returning new value without updating state
  • Adding amount when negative instead of subtracting

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More C Sharp (C#) Quizzes