【发布时间】:2012-05-12 14:24:33
【问题描述】:
有没有一种“简单”的方法可以将单个 char 类型的值大写?
这会起作用,但感觉很麻烦并且通常是错误的:
var ch = 'a';
var cap = ("" + ch).ToUpper()[0];
cap.Dump(); // (in LINQPad) => 'A'
注意事项:
- 选择
"" + ch而不是ToString()是因为 ReSharper 对我大喊大叫,因为我没有用后者指定文化……无论如何,ch.ToString().ToUpper()[0]感觉一样麻烦。 - 为了全球化,不能只“加 32”;我不相信有任何一个
char在大写时会变成代理对。
谢谢,
【问题讨论】:
-
“加 26”在 ASCII 中甚至不是一个选项:您需要减去 32。
标签: c# char capitalize