C#:将 int 转换为 char,但以字面形式而不是 unicode 表示形式

Bir*_*man 1 c# unicode int type-conversion char

我正在尝试将整数转换为字符。但问题是,每当我将其转换为 char 的 unicode 表示形式时,我都可以看出。例如:

        int i1 = 3;

        char c1 = (char)i1;
        //also tried: char c1 = Convert.ToChar(i1)

        Console.WriteLine(c1);
Run Code Online (Sandbox Code Playgroud)

这是我调试时看到的:

在此输入图像描述

它显示 3,这正是我想要的,我希望将 int 3 转换为 char '3',但它是 unicode 表示形式 '\u0003'。所以当我尝试打印它时,结果是垃圾。我似乎无法在任何地方找到解决方案。

Ese*_*ser 5

如果我理解正确的话,这就是你想要的

int i1 = 3;
char c = (char)(i1 + '0');

Console.WriteLine(c);
Run Code Online (Sandbox Code Playgroud)

'0'ASCII 码是 48。将 3 加到 48 是 51,将 51 转换为 char 是3