【发布时间】:2021-04-10 16:12:24
【问题描述】:
我有一个任务:
public void Main (String[] args)
{
DoMethod();
}
public void DoMethod()
{
Task<TResult> myTask = StartAsync();
myTask.ContinueWith(x =>
{
Console.WriteLine("Something");
//Do some stuff
foreach (var entry in entries)
{
MyEditor(entry);
}
//Do some stuff
});
}
public void MyEditor(string entry)
{
this.entry = entry.Remove(0, 5);
}
但是这个任务有点太快了。
MyEditor 方法只是格式化条目。
我的任务不等待MyEditor() 完成格式化。
MyEditor() 不是异步的。
我怎样才能稍作修改以等待MyEditor() 完成。
我已将代码减少到必要的最低限度,以便仍然可以识别问题。 我希望我成功了。
【问题讨论】:
-
MyEditor是异步的吗?如果是这样,你应该等待它。 -
所以更新了一点描述。
MyEditor不是异步的。 -
@Alejandro 我该怎么做?
-
您发布的代码会覆盖相同的类级别“this.entry”。没有那个'this'它也不会工作:字符串参数的变化不会让它“出”,你的'条目'不会改变
-
对不起,在我第二次更改后,我忘记更改整个代码 sn-p。我现在更新了。
标签: c# asynchronous task