从异步任务更改变量的值? [Discord Bot]

时间:2018-02-22 20:28:54

标签: c# variables asynchronous discord

我正在尝试为Discord机器人编写一个小游戏,但命令会激活异步任务,我完全不了解。

我试图在命令激活时这样做,它会永久地更改变量(直到它重新初始化)。

以下是我的脚本的基础知识:

public int foobar = 0;

[Command("Foo")]
public async Task foo()
{
    foobar = 1;
    await Context.Channel.SendMessageAsync(foobar.ToString()); //this is basically print("")
}

[Command("Bar")]
public async Task bar()
{
    await Context.Channel.SendMessageAsync(foobar.ToString()); //again, basically print("")
}

如果我运行命令Foo,我收到1,这意味着它成功地将int foobar转换为等于1.但是,如果我在Foo之后运行命令Bar,它仍然给我foobar = 0,它告诉我命令Foo只改变了int foob​​ar在那个任务期间,而不是永久性的。很明显我错过了一些明显的东西,但我对异步编程有绝对的经验。

0 个答案:

没有答案