110,538
社区成员
发帖
与我相关
我的任务
分享
struct 结构
{
DateTime 时间;
public async void 测试()
{
时间 = new DateTime();
全局.记录日志($"{时间}");
await 更新时间();
全局.记录日志($"{时间}");
}
async Task 更新时间()
{
await Task.Delay(1000);
时间 = DateTime.Now;
}
}
有这样一个使用异步的结构体,实例化之后,运行 测试();结果打印出来的2次时间都是DateTime的初始值,更新时间()里对时间赋值并未起作用。请问我要怎样才能在异步方法里修改“时间”的值?struct 结构
{
DateTime 时间;
public void 更新时间二()
{
Action 闭包 = () =>
{
时间 = DateTime.Now; // 这里编译器会报错
};
闭包();
}
}
struct 结构
{
DateTime 时间;
public async void 测试()
{
时间 = new DateTime();
Console.WriteLine($"{时间}");
var t =await 更新时间();
Console.WriteLine($"{t}");
}
async Task<DateTime> 更新时间()
{
await Task.Delay(1000);
var t = DateTime.Now;
return t;
}
}