无法将 foreach 转换为 linq select

我正在尝试将 foreach 循环(如下所示)转换为 Linq select 语句

IEnumerable<string> tokensFromPlans = GetTokens();
foreach (var token in tokensFromPlans)
{
    DeleteFromQueue(token);
}

上面的效果很好。

我正在尝试将其转换为 Linq 以了解 Linq。

tokensFromPlans.Select(token => DeleteFromQueue(token));

这失败了

方法的类型参数&hellip;无法从用法中推断出来

我在这里很迷失。我对 Linq 的理解是我们对变量执行一个 select 语句tokensFromPlans,它本质上是通过集合进行迭代。

对于集合中的每个成员,我们调用该函数DeleteFromQueue

我不明白我做错了什么。

我已阅读方法的类型参数无法从用法中推断出来,但我不认为这是问题,因为我不处理任何如此复杂的事情。


交互式爱情
浏览 69回答 1
1回答

噜噜哒

方法的委托Select应该返回一个值。显然,DeleteFromQueue 什么也没有返回(void)。您选择了错误的 LINQ 练习方法。相反,找到一种需要将一个集合转换为另一个集合的逻辑,这将是一个好的开始Select
打开App,查看更多内容
随时随地看视频慕课网APP