簡體   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