我在c#中制作控制台游戏并使用win32控制台IO功能来提高性能。 如果我使用.NET中的Console.Write函数来打印像块一样的特殊ASCII字符,它就可以工作。但是,由于我正在写入一个CHAR_INFO结构数组并将其传递给SetConsoleOutput(),因此它不起作用。
例如,
charInfoArray[0, 0].AsciiChar = (byte)'█';
//OR
charInfoArray[0, 0].UnicodeChar = '█';
SetConsoleOutput(h, charInfoArray, new Coord(width, height), new Coord(0, 0));
输出重音'。
但是我能做到 charInfoArray [0,0] .AsciiChar =(char)(byte)219; // 219是'█'的ASCII码 但在可读性方面,这非常令人讨厌和限制。
经过一番谷歌搜索,我尝试了一些建议的解决方案,如:
此时我仍然不确定为什么会发生这种情况。任何信息和/或解决方案将不胜感激!