【问题标题】:Converting int to char in C# not working properly在 C# 中将 int 转换为 char 无法正常工作
【发布时间】: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


【解决方案1】:

在转换为 char 并在控制台上打印出来之前添加 64。

【讨论】:

猜你喜欢
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 2013-08-10
  • 2018-02-10
  • 2010-09-19
相关资源
最近更新 更多