小编Jan*_*dan的帖子

清除异步和等待的问题?

我最近一直在学习异步编程,我想我已经掌握了它.异步编程很简单,只允许我们的程序进行多任务处理.

混乱配备awaitasync编程,它似乎混淆我多一点,可能有人帮助回答一些我的顾虑?

我没有看到async关键字那么多,只是你想要一种方法让Visual Studio知道该方法可能await是某种东西,并允许它来警告你.如果它有一些其他特殊含义实际影响某些东西,有人可以解释一下吗?

移动到await,跟一个朋友,我被告知我有1周重大的事情错了之后,await不会阻止当前的方法,它只是执行留在该方法中的代码,并不会在自己时代的异步操作.

现在,我不确定这种情况经常发生,但是让我们说你有这样的代码.

Console.WriteLine("Started checking a players data.");

var player = await GetPlayerAsync();

foreach (var uPlayer in Players.Values) { 
    uPlayer.SendMessage("Checking another players data");
}

if (player.Username == "SomeUsername") { 
    ExecuteSomeOperation();
}

Console.WriteLine("Finished checking a players data.");
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我运行了一些异步代码GetPlayerAsync,如果我们深入到范围并且我们需要访问播放器会发生什么,但它还没有返回播放器呢?

如果它没有阻止该方法,它如何知道该玩家不是null,它是否做了一些魔法并等待我们如果我们到达那种情况,或者我们只是禁止自己编写这种方法并处理它我们自己.

.net c# asynchronous async-await

1
推荐指数
1
解决办法
310
查看次数

标签 统计

.net ×1

async-await ×1

asynchronous ×1

c# ×1