Distinct accepts StringComparer.OrdinalIgnoreCase to ignore case when removing duplicates.
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.
Final Answer:
list.Distinct(StringComparer.OrdinalIgnoreCase) -> Option B
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
Master "Strings and StringBuilder" in C Sharp (C#)
9 interactive learning modes - each teaches the same concept differently