Можно ли преобразовать строку в порядковый верхний или нижний регистр. Подобно инварианту.
string upperInvariant = "ß".ToUpperInvariant();
string lowerInvariant = "ß".ToLowerInvariant();
bool invariant = upperInvariant == lowerInvariant; // true
string upperOrdinal = "ß".ToUpperOrdinal(); // SS
string lowerOrdinal = "ß".ToLowerOrdinal(); // ss
bool ordinal = upperOrdinal == lowerOrdinal; // false
Как реализовать ToUpperOrdinal и ToLowerOrdinal?
Изменить: Как получить представление порядковой строки? Аналогично, как получить инвариантное представление строки? Может быть, это невозможно, как в приведенном выше случае, это может быть неоднозначно, по крайней мере для порядкового представления.
Edit2:
string.Equals("ß", "ss", StringComparison.InvariantCultureIgnoreCase); // true
но
"ß".ToLowerInvariant() == "ss"; // false