gpt4 book ai didi

c# - 任务不包含在一行代码中完成的定义

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

如果我将代码分成两行,为什么会这样:

List<Foo> foos = await _repo.GetFoos();
foos = foos.Where(x => x.FooType != FooType.A).ToList();

但是当我将它们组合起来并执行 Where 时不起作用在同一条线上?

List<Foo> foos = await _repo.GetFoos().Where(x => x.FooType != FooType.A).ToList();

这会产生一个错误:

Task<List<Foo>> does not contain a definition for 'Where`...

最佳答案

你应该像这样使用await:

List<Foo> foos = (await _repo.GetFoos()).Where(x => x.FooType != FooType.A).ToList();

那是因为 await _repo.GetFoos().Where() 中的 .Where() 没有应用到 _repo.GetFoos() await _repo.GetFoos() 的结果。

关于c# - 任务不包含在一行代码中完成的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59273076/

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