【发布时间】:2020-05-20 11:45:20
【问题描述】:
我正在尝试将一些基本字母转换为 int 并返回到 chars。将char 转换为int 很好,我这样做是这样的:
// text is a string taken from a text document, only english characters A-z
int[] letters = new int[text.Length];
for (int i = 0; i < text.Length; i++)
{
letters[i] = text[i] - 64;
}
生成一个整数数组,其中 A = 1、B = 2 等,如预期的那样。但是,当我尝试将整数数组转换回 char:
for (int i = 0; i < letters.Length; i++)
{
Console.WriteLine((char)letters[i] + " (" + letters[i] + ")");
}
我得到随机的奇怪字符或根本没有字符(括号中的 int):
(10)
(11)
(12)
(13)
(14) ...
我已经尝试了Convert.ToChar() 和普通的(char)letter 演员表并且都产生了相同的结果,并在此处搜索了有关如何解决此问题的主题,但没有找到任何东西。
我在这里错过了什么?
【问题讨论】:
-
您忘记在投射前添加 64
-
是的,我是个白痴。谢谢。
标签: c# char type-conversion int