我需要让控制台打印每“页”22 个字符的 ASCII 字符。输入“key”后,它们将打印接下来的 22 个 ASCII 字符,依此类推。问题出在“翻页”问题上。
这是我的代码:
static void Main(string[] args)
{
int i = 0;
while (i <= 22)
{
Console.Write(i + " = " + (char)i);
if (i < 22)
{
Console.Write((char)10);
}
i++;
}
Console.Write("Please press any key to turn page");
Console.ReadKey();
while (i > 22 && i <= 44)
{
Console.Write(i + " = " + (char)i);
if (i < 44)
{
Console.Write((char)10);
}
i++;
}
Console.Write("Please press any key to turn page");
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)
我本质上是一个新手。我大部分东西都是自己学的,所以如果我在学业上难以忍受,请忍受我,并告诉我如何做到这一点。我可以从那里过去。提前致谢。
如果您不使用System.Text.Encoding.GetEncoding(28591);控制台,则会为某些 ASCII 字符提供不同的符号或不正确的字体。有关GetEncoding(28591)的更多信息
/*internal const int ISO_8859_1 = 28591;// Latin1;*/
using System;
namespace AsciiChart
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = System.Text.Encoding.GetEncoding(28591);
for (int i = 0; i < 256; i++) {
Console.Write(i+"=> ["+(char)i +"] \n");
}
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑: 为了更好的格式,我用它编辑了源代码。
Console.Write(" "+(char)i );
if (i % 16 == 0) { // 16*16 = 256
Console.Write("\n");
}
Run Code Online (Sandbox Code Playgroud)