如何在循环内仅执行一行代码一次?

问题描述 投票:0回答:1

初学者,我正在尝试做一个 while true 循环,无限期地读取游戏中整数的值。我想做的是,当该整数 = x 值时,执行某个代码,但仅执行一次。

我用了这个代码

while (true)
{

    
    var value = swed.ReadInt(localplayer, offsets.health);


    if (value == 70)
    {
        Console.WriteLine("hello");
    }


}

问题是,当值为 70 时,当我只想打印一次时,它会永远打印“hello”。我尝试使用 for 循环,按照我的意愿打印该消息一次,但只有当该值一开始就是 70 时它才有效。它不像 while 循环那样连续读取该值。所以我想我需要使用嵌套循环?我尝试了很多不同的方法,但到目前为止没有任何效果

c# loops for-loop while-loop
1个回答
0
投票

正如评论所建议的,我们使用一个标志来触发“hello”一次,例如:

while (true)
{
    var hasExecuted = false;
    
    var value = swed.ReadInt(localplayer, offsets.health);

    if (value == 70 && !hasExecuted)
    {
        Console.WriteLine("hello");
        hasExecuted = true;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.