Description
When .NET uses the ICU globalization libraries, changing the case of a title case character in the invariant culture works the most intuitive way:
Char.ToUpperInvariant('Dz') == 'DZ';
Char.ToLowerInvariant('Dz') == 'dz';
When using the NLS libraries by setting DOTNET_SYSTEM_GLOBALIZATION_USENLS to true however, the methods don't change the character at all:
Char.ToUpperInvariant('Dz') == 'Dz';
Char.ToLowerInvariant('Dz') == 'Dz';
Configuration
.NET 6, RC 1, Windows 10 21H1
Regression?
No
Other information
Even if it's by design, it should be documented somewhere as another NLS vs ICU difference.