In the simple method below, for string comparers I'm calling corresponding ToLower()
methods. Is there case conversion method for StringComparer.OrdinalIgnoreCase
exposed somewhere in the framework?
Function ToLowerIfCaseInsensitiveComparison(s As String, cmp As StringComparison) As String
Select Case cmp
Case StringComparison.CurrentCultureIgnoreCase
Return s.ToLower()
Case StringComparison.InvariantCultureIgnoreCase
Return s.ToLowerInvariant()
Case StringComparison.OrdinalIgnoreCase
Return ___________________ ' expecting your answers
Case Else
Return s
End Select
End Function
(C# or VB – whatever you prefer. The answer probably won't be language-dependent anyway.)
UPDATE: I have to correct myself regarding lowercase conversion: Best Practices for Using Strings in the .NET Framework says that
Use the String.ToUpperInvariant method instead of the String.ToLowerInvariant method when you normalize strings for comparison.