【问题标题】:How to convert ascii integer to char in C#?如何在 C# 中将 ascii 整数转换为 char?
【发布时间】:2016-05-02 18:30:41
【问题描述】:

好的,所以我不会对我大喊大叫,我确实搜索了论坛并且有一个非常相似的问题,我只是有点难以理解它的意思。

我正在生成一个十进制的随机数,检查它是否匹配我不想打印的字符的某个排除范围,如果它不匹配排除范围,我保存 int 并且我想要将其发送到要打印的字符。

我不知道如何告诉 Visual Studio 打印十进制整数 65,因为字符“A”是我的代码:

int asciVal = rnd.Next(33, 96);
if (asciVal == 48 || asciVal == 49 || asciVal == 50 || asciVal == 51 || asciVal == 52 || asciVal == 53 || asciVal == 54 || asciVal == 55 || asciVal == 56 || asciVal == 57 || asciVal == 65 || asciVal == 66 || asciVal == 67 || asciVal == 68 || asciVal == 69 || asciVal == 70 || asciVal == 71 || asciVal == 72 || asciVal == 73 || asciVal == 74 || asciVal == 75 || asciVal == 76 || asciVal == 77 || asciVal == 78 || asciVal == 79 || asciVal == 80 || asciVal == 81 || asciVal == 82 || asciVal == 83 || asciVal == 84 || asciVal == 85 || asciVal == 86 || asciVal == 87 || asciVal == 88 || asciVal == 89 || asciVal == 90)
    loop = 1;
else {
    loop = 0;
    Text = asciVal;
}

【问题讨论】:

  • 你有其他问题的链接吗?
  • 您可以缩短您的if 声明:if ((asciVal >= 48 && asciVal <= 57) || (asciVal >= 65 && asciVal <= 90))。比一长串 or 语句更具可读性。
  • 几个答案和 cmets 展示了如何将整数转换为 char(Unicode/UTF-16 代码单元)。它们是正确的,因为您实际上并没有使用 ASCII。把你所知道的关于 ASCII 的知识移植到Unicode,学习一个bit more,然后忘记 ASCII。

标签: c# int ascii


【解决方案1】:

使用Convert.ToChar

int number = 65;
char c = Convert.ToChar(number); 

【讨论】:

【解决方案2】:

将 ascii int 转换为 char 的最简单方法如下:

int i = 123;
char c = (char)i;

【讨论】:

    【解决方案3】:

    你可以在c#中使用unicode。

    int asciival= <value>;
    char letter = (char) asciival;
    string word = letter.ToString();
    

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 2013-04-15
      • 2017-12-23
      • 2013-01-25
      • 1970-01-01
      • 2012-06-21
      • 2013-05-07
      • 1970-01-01
      相关资源
      最近更新 更多