Using ToLower() for string comparison is like bringing a shotgun to an archery competition. Sure, you might hit something , but it's messy, inefficient, and everyone watching knows you're doing it wrong. The bottom panel shows the elegant solution: string.Equals(a, b, StringComparison.OrdinalIgnoreCase) . It's literally designed for this exact purpose. No unnecessary string allocations, no performance overhead, just pure precision. Fun fact: ToLower() creates new string objects in memory because strings are immutable. So you're basically wasting resources just to avoid typing a few extra characters. Classic developer move: optimizing for laziness instead of performance.