Bird
0
0

You want to sort a list of strings alphabetically ignoring case in C#. Which approach correctly compares two strings x and y inside a custom comparer?

hard🚀 Application Q15 of 15
C Sharp (C#) - Strings and StringBuilder
You want to sort a list of strings alphabetically ignoring case in C#. Which approach correctly compares two strings x and y inside a custom comparer?
Areturn x == y ? 0 : 1;
Breturn string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
Creturn x.Equals(y) ? 0 : -1;
Dreturn x.CompareTo(y);
Step-by-Step Solution
Solution:
  1. Step 1: Understand sorting comparer requirements

    A comparer must return negative, zero, or positive int based on alphabetical order.
  2. Step 2: Check each option's return value and case sensitivity

    return string.Compare(x, y, StringComparison.OrdinalIgnoreCase); uses string.Compare with OrdinalIgnoreCase, correctly returning int for sorting ignoring case. return x == y ? 0 : 1; returns only 0 or 1, not suitable. return x.Equals(y) ? 0 : -1; returns 0 or -1 but ignores order and case. return x.CompareTo(y); uses CompareTo which is case-sensitive.
  3. Final Answer:

    return string.Compare(x, y, StringComparison.OrdinalIgnoreCase); -> Option B
  4. Quick Check:

    Use string.Compare with OrdinalIgnoreCase for case-insensitive sorting [OK]
Quick Trick: Use string.Compare with OrdinalIgnoreCase in sorting comparer [OK]
Common Mistakes:
MISTAKES
  • Returning only 0 or 1 instead of negative/zero/positive
  • Using case-sensitive CompareTo for ignoring case
  • Using Equals which returns bool, not int

Want More Practice?

15+ quiz questions · All difficulty levels · Free

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