gpt4 book ai didi

c# - 如何向 || 右侧的区域添加 await在 "if (count == 0 || await MainPage.DisplayAlert"

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:42 25 4
gpt4 key购买 nike

我有这个代码:

public async Task ReviewAppAsync(int count)
{
await Task.Delay(60000);
if (count == 0 || await MainPage.DisplayAlert("Review", "abc", "Yes", "No"))
{
// some code here
}
}

如果计数不为零,我只想等待。

如何移动第一个 await Task.Delay(60000);

这样它只会延迟:MainPage.DisplayAlert("Review", "abc", "Yes", "No"))?

最佳答案

你最好的办法是稍微重构一下——也许通过一个本地函数:

public async Task ReviewAppAsync(int count)
{
async Task<bool> DelayAndDisplayAlert()
{
await Task.Delay(60000);
return await MainPage.DisplayAlert("Review", "abc", "Yes", "No");
}

if (count == 0 || await DelayAndDisplayAlert())
{
// some code here
}
}

有一些方法不需要额外的调用就可以做到这一点,但是……它们会变得凌乱和丑陋;将这些片段移动到一个单独的方法中要干净得多。如果您使用的是旧版本的 C#,您可能需要将 DelayAndDisplayAlert 移到方法之外:

async Task<bool> DelayAndDisplayAlert()
{
await Task.Delay(60000);
return await MainPage.DisplayAlert("Review", "abc", "Yes", "No");
}
public async Task ReviewAppAsync(int count)
{
if (count == 0 || await DelayAndDisplayAlert())
{
// some code here
}
}

关于c# - 如何向 || 右侧的区域添加 await在 "if (count == 0 || await MainPage.DisplayAlert",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59280998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com