问题描述
有时当我执行上述语句时,程序会在控制台应用程序中冻结.如果我中断,我将无法移动到下一行.我需要重置缓冲区吗?
Sometimes when I execute the above statement, the program freezes in a console application. If I break, I can't move to the next line. Do I need to reset a buffer or something?
这是一个在屏幕上显示消息的批处理应用程序.有没有人经历过这个并设法解决它.这似乎是一个新事物.我正在使用 Visual Studio 2017 教授版.
It's a batch process application that displays messages to the screen. Has anyone experienced this and managed to resolve it. It seems to be a new thing. I'm using Visual Studio 2017 Prof. edition.
WriteLine
停止的函数如下.sMessage
的值为空白".
The function where WriteLine
stalls is below. The value of sMessage
is blank "".
static void Display(string sMessage, DisplayColours eColour = DisplayColours.White)
{
if (eColour == DisplayColours.Yellow)
Console.ForegroundColor = ConsoleColor.Yellow;
if (eColour == DisplayColours.Blue)
Console.ForegroundColor = ConsoleColor.Cyan;
if (eColour == DisplayColours.Green)
Console.ForegroundColor = ConsoleColor.Green;
if (eColour == DisplayColours.Red)
Console.ForegroundColor = ConsoleColor.Red;
if (eColour == DisplayColours.Magenta)
Console.ForegroundColor = ConsoleColor.Magenta;
if (oFptr != null)
{
oFptr.WriteLine(sMessage);
oFptr.Flush();
}
Console.WriteLine(sMessage);
Console.ForegroundColor = ConsoleColor.White;
}
推荐答案
可能导致这种情况的一个原因是,如果您单击控制台窗口以开始选择文本,换句话说,第一步从控制台窗口中复制文本.发生这种情况时,对控制台窗口的写入将挂起,直到您返回控制台窗口并按 Enter 删除选择框.
One thing that can cause this, is if you click on the console window in such a way that it starts to select text, in other words, the first step in copying text out of the console window. When this happens, a write to the console window will hang until you return to the console window and press Enter to remove the selection box.
这篇关于Console.WriteLine("");卡住的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!