【问题标题】:Print a Unknown Character in C# console在 C# 控制台中打印未知字符
【发布时间】:2018-05-04 02:32:03
【问题描述】:

在我的程序中 执行是打印一个未知字符 什么意思? 不知从何而来? 为什么要在控制台中打印它。 请帮忙... 我的代码在这里

static void Main(string[] args)
    {
        char[] array = new char[10];

        for (int i = 0; i < 10; i++){

            array[i] =(char) i;
        }
        for(int i = 0; i < 10; i++)
        {
            Console.Write(array[i] + "\n");

        }
        Console.Read();
    }

这是一个简单的代码,但 c# 无法识别我的代码 更新 Windows 10 后,我的程序变成了它。 也许是更新 Windows 10 的问题?

执行我的代码是

http://uupload.ir/files/5tdi_problem_print_unknow_character.png

但大多数应该是 1 2 3 4 5 6 7 8 9

请帮帮我.. 坦克。 我该怎么做才能不写不相关的正方形? enter image description here

我执行的图片 http://s9.picofile.com/file/8312295492/problem_print_unknow_character.png

http://uupload.ir/files/5tdi_problem_print_unknow_character.png

【问题讨论】:

  • 您正在打印无法打印的字符,您希望看到什么?
  • 如果你能解释一下你认为代码应该做什么,那真的很有帮助,因为你几乎肯定是错的。
  • 您正在打印此表中的项目 0-9。尝试遍历一些可打印的字符(如 48-57)。 asciitable.com
  • 您要打印数字吗?如果是这样,请将您的数组更改为包含 int 类型而不是 char 类型:int[] array = new int[10],并删除 (char) 演员表。这样你的数组是一个数字数组,而不是 ascii 字符。否则,请解释您要执行的操作,因为您的代码完全按照您的要求执行。

标签: c# arrays syntax-error console-application windows-update


【解决方案1】:

如果你真的希望它打印 1 2 3 4 5 6 7 8 9 那么你需要确保

  1. 您的循环从 1 而不是 0 开始,
  2. 在每个 Write 和
  3. 之后使用“”而不是“\n”
  4. 正如其他人在上面评论的那样,您确保您的数组是 int 而不是 char 类型(或在每个整数中添加 '0' 以获得正确的 ASCII 值)。

这个程序不可能在任何版本的 Windows(或其他操作系统)下打印出您所期望的内容。

【讨论】:

    【解决方案2】:

    (char) i;
    

    您正在使用 ascii 将 int 转换为 char。 0 - 10 对应的 ascii 是不可打印的字符。

    您可以将数组设置为 int 数组而不是 char 数组,或者您可以调用 i.ToString()[0](仅适用于 0-9)来获得所需的结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多