2017-12-28 2 views
0

Char은 현재 culture와 관계없이 문자를 대/소문자로 변환하는 ToLowerInvariantToUpperInvariant 메서드를 구현합니다. 그러나 IsUpperInvariantIsLowerInvariant 방법이 없습니다. 왜?왜 char.IsUpperInvariant/char.IsLowerInvariant 메서드가 없습니다?

+0

해결 방법은 직접 작성하는 것입니다. – Sweeper

+0

그들은 무엇을 돌려 주겠습니까? ToUpperInvariant/ToLowerInvariant가 자신을 반환하면 true가 반환됩니까? –

+0

짧은 대답은 mscorlib에 넣기에 충분하지 않아서'c == Char.ToLowerInvariant (c)'가'Char.IsLowerInvariant (c)'보다 소수의 문자 밖에 없다고 생각합니다. 또한 IsLower에 추가 된 경우 다른 Char.Is 메소드 대부분에 추가해야 할 것입니다 – Slai

답변

2

다음 방법은 당신이 얻을 수있는 최선입니다

문자가/상위 형식을 낮추기로 변환하면 변환이 문화 특이 여부 , 그들은 그 사건을 적절히 감지 할 것입니다.

반면에 주어진 문자가 특정 문화 또는 불변의 변환의 산물인지는 말할 수 없습니다. 당신은 그것을보고 그것의 현재의 경우가 더 낮거나 위다는 것을 관찰 할 수 있습니다. 예를 들어, 대문자 변환에서 얻은 문자 E이 주어 졌을 때 ... 원래 ë 또는 e 인 경우 어떻게 말할 수 있습니까? 당신이 그것을 원래 형태이고 현재 문화가 시스템을 사용하고 있다는 것을 모르는 것이라면 ... 당신은 할 수 없습니다.

관련 문제