I see a difference in behavior between C# (.NET v4.0) and Java for converting 'İ' to lowercase with "invariant" culture.
In Java, "İ".toLowerCase(Locale.ROOT)
returns 'i'
.
In C#, "İ".ToLowerInvariant()
and "İ".ToLower(CultureInfo.InvariantCulture)
both return "İ"
but "İ".ToLower(new CultureInfo("en-EN"))
returns 'i'
.
Looks like Java is doing the conversion correctly but C# is not. Is this a bug in C#?