(C#) 如何停止增量和减量围绕位值跳跃?
(C#) How do I stop Increment and decrement jumping around place values?
出于某种原因,此代码使数字在位置值上跳跃。
前任
如果我把数字加起来最多为 10,当我减去一次时,它会变成 90,如果我再减去它会变成 80。
如果我再次开始添加 90 变成 01...
所以我必须在我的代码中的某处告诉它这样做...
我尝试了几种不同的方法,但同样的事情一直在发生。
int x;
int y;
Console.WriteLine("X:" + (x=0) + "Y:" + (y=0));
//Change Coordinates
while(true){
ConsoleKey key = Console.ReadKey().Key;
Console.SetCursorPosition(Console.CursorLeft, Console.CursorTop -1);
Console.WriteLine("X:"+x +"Y:"+y);
if (key == ConsoleKey.UpArrow){
y=y+1;
}
else if (key == ConsoleKey.DownArrow){
y=y-1;
}
}
你需要
Console.WriteLine($"X:{x,2} Y:{y,2}");
您一开始并没有打印 y 。但是您的主要问题是,一旦达到 2 位数字,您就会在行中留下旧字符。这强制输出始终为 2 位数宽
出于某种原因,此代码使数字在位置值上跳跃。
前任
如果我把数字加起来最多为 10,当我减去一次时,它会变成 90,如果我再减去它会变成 80。 如果我再次开始添加 90 变成 01...
所以我必须在我的代码中的某处告诉它这样做...
我尝试了几种不同的方法,但同样的事情一直在发生。
int x;
int y;
Console.WriteLine("X:" + (x=0) + "Y:" + (y=0));
//Change Coordinates
while(true){
ConsoleKey key = Console.ReadKey().Key;
Console.SetCursorPosition(Console.CursorLeft, Console.CursorTop -1);
Console.WriteLine("X:"+x +"Y:"+y);
if (key == ConsoleKey.UpArrow){
y=y+1;
}
else if (key == ConsoleKey.DownArrow){
y=y-1;
}
}
你需要
Console.WriteLine($"X:{x,2} Y:{y,2}");
您一开始并没有打印 y 。但是您的主要问题是,一旦达到 2 位数字,您就会在行中留下旧字符。这强制输出始终为 2 位数宽