c#中等待变量变为1继续运行的写法
时间: 2024-10-18 19:19:08 浏览: 30
在 C# 中,如果你想让程序暂停执行直到某个变量变成 1 然后再继续运行,你可以使用 `while` 循环结合 `break` 或者 `await` 和 `Task.Delay` 结合 `ContinueWith`。以下是两种常见的做法:
1. **使用 while 循环**:
```csharp
int var = 0;
while (var != 1)
{
// 这里是你想要循环执行的代码
Console.WriteLine("Waiting for variable to be 1...");
}
// 当变量变为了 1,这里会开始执行
Console.WriteLine("Variable is now 1.");
```
2. **使用异步编程** (如果变量改变不是立即发生的):
```csharp
int var = 0;
Task.Run(() => {
while (var != 1)
{
// 异步检查变量并设置延迟
if (var == 1) break; // 假设变量改变有同步锁或其他机制
await Task.Delay(100); // 每隔一段时间检查一次
}
// 变量变为 1 后,主线程将继续执行
Console.WriteLine("Variable is now 1.");
});
// 主线程继续执行其他任务
```
在第二种方法中,如果变量的变化发生在另一个线程或异步操作中,你需要确保变量更新时能通知到主程序。
阅读全文