繁体   English   中英

我可以实时更新 C# 控制台输出而不需要不断写入吗?

[英]Can I update C# console output in realtime without constantly writing to it?

我正在创建一个简单的格斗游戏控制台应用程序,并且我的Player对象上有一个health属性,该属性在Fight方法中更新。

我想知道是否可以在控制台中实时显示健康变量,而无需调用多次更新控制台的方法。

这是我开始战斗并显示每个玩家的健康输出的主要方法。

 public static void StartFight(Player p1, Player p2) {
   Console.Clear();
   Title(" BATTLE ");
   Console.WriteLine($"{p1.name} Health: {p1.health} ");
   Console.WriteLine($"{p2.name} Health: {p2.health} ");

   // Loop giving each player a chance to attack
   // and block each turn until 1 dies
   while (true) {
     if (Fight(p1, p2)) {
       Title(" GAME OVER! ");
       PlayAgain();
       break;
     }

     if (Fight(p2, p1)) {
       Title(" GAME OVER! ");
       PlayAgain();
       break;
     }
   }
 }

是否可以实时写入控制台,以便我不必继续执行Console.WriteLine($"{p1.name} Health: {p1.health} "); ?

否 - 如果您正在向控制台显示,则无法在不多次调用方法来更新控制台的情况下实时更新 UI。

其他 UI 有办法使用事件、绑定等来做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM