簡體   English   中英

在 C# 中將 int 轉換為 char 無法正常工作

[英]Converting int to char in C# not working properly

我正在嘗試將一些基本的字母轉換為 int 並返回到字符。 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 等,正如預期的那樣。 但是,當我嘗試將 int 數組轉換回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 cast 並且都產生了相同的結果,並在這里搜索了關於如何解決這個問題的主題,但沒有找到任何東西。 我在這里缺少什么?

在轉換為 char 之前添加 64 並在控制台上打印出來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM