string s = "h";
s = s.ToUpper();
возвращает "H"
.
string s = "8";
s = s.ToUpper();
возвращает "8"
Если это не возвращает "*"
?
string s = "h";
s = s.ToUpper();
возвращает "H"
.
string s = "8";
s = s.ToUpper();
возвращает "8"
Если это не возвращает "*"
?
Нет, не следует. ToUpper()
не означает WithShiftKeyOnAnInternationalASCIIKeyboard()
. Существует не прописная буква 8, поскольку 8 - это число, а не буква.
Конечно, это грубое чрезмерное упрощение (если только номер не позволяет автоматически сделать определенный символ в наборе символов безлицензионным), но это, вероятно, то, о чем вы просите, так что я оставлю его на что.
Поскольку нет верхнего регистра 8
.
Просто потому, что используемая вами клавиатура имеет *
на том же ключе, что и 8
, не означает, что все клавиатуры работают. На некоторых языках нет буквы в верхнем регистре - что должно ToUpper
вернуть для них?
Этот метод использует правила оболочки текущей культуры для преобразования каждого символа в текущем экземпляре в его верхний регистр. Если символ не имеет эквивалента в верхнем регистре, он включается в неизмененную строку.
Реальный ответ заключается в том, что TextInfo, связанный с CultureInfo для en-US, не определяет "*" как верхний регистр "8".
Возможно, возможно расширить этот текст, переопределить toUpper() и заставить его работать так, как вы пожелаете.
ToUpper()
для следующего текста:
"есть 8 зданий" Просто потому, что вы нажимаете shift 8, чтобы получить *, не делает его заглавным, оно применяется только для символов a-z.