Bird
0
0

You have a list of strings and want to remove duplicates ignoring case. Which LINQ expression correctly does this?

hard🚀 Application Q9 of 15
C Sharp (C#) - Strings and StringBuilder
You have a list of strings and want to remove duplicates ignoring case. Which LINQ expression correctly does this?
Alist.Distinct()
Blist.Distinct(StringComparer.OrdinalIgnoreCase)
Clist.GroupBy(s => s.ToLower()).Select(g => g.First())
Dlist.Where(s => s != null).Distinct()
Step-by-Step Solution
Solution:
  1. Step 1: Understand Distinct with custom comparer

    Distinct accepts StringComparer.OrdinalIgnoreCase to ignore case when removing duplicates.
  2. Step 2: Analyze other options

    list.Distinct() is case-sensitive. list.GroupBy(s => s.ToLower()).Select(g => g.First()) works but creates new strings and is less efficient. list.Where(s => s != null).Distinct() ignores null but not case.
  3. Final Answer:

    list.Distinct(StringComparer.OrdinalIgnoreCase) -> Option B
  4. Quick Check:

    Use Distinct with OrdinalIgnoreCase to ignore case in duplicates [OK]
Quick Trick: Use Distinct with StringComparer.OrdinalIgnoreCase for case-insensitive duplicates [OK]
Common Mistakes:
MISTAKES
  • Using Distinct without comparer
  • Lowercasing strings manually in GroupBy
  • Ignoring null values without case handling

Want More Practice?

15+ quiz questions · All difficulty levels · Free

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