.net - Linq 警告

标签 .net linq

Linq 是 .NET 的一个很棒的补充,我发现它在许多情况下都对我有用,即使我才刚刚开始学习如何使用 Linq。

然而,在阅读我一直在做的关于 Linq 的阅读中,我发现开发人员需要注意一些微妙的事情,这可能会导致麻烦。

我已经包含了一个明确的警告,这是我遇到的延迟执行的结果。

所以我想知道,Linq 的新开发人员应该了解 Linq 还存在哪些其他注意事项?

最佳答案

在 foreach 循环中构建查询

IEnumerable<char> query = "Not what you might expect";
foreach(char vowel in "aeiou")
{
    query = query.Where(c => c != vowel);
}

由于延迟执行,上面的代码仅从字符串中删除了“u”。

为了删除所有元音,您需要执行以下操作:
IEnumerable<char> query = "Not what you might expect";
foreach(char vowel in "aeiou")
{
    char temp = vowel;
    query = query.Where(c => c != temp);
}

关于.net - Linq 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/652742/

相关文章:

.net - 需要帮助来调试使用 .Net 和 MySQL 的应用程序

c# - 如何在 Entity Framework 查询中将 DateTime 转换为 TimeSpan

c# - 表达式始终为真(当它不是时)

c# - 当我们有多个名称相同但属性不同的元素时,如何使用 Xdocument 从 xml 中删除元素

c# - 使用 linq 将 CSV 读入数组或数据表的任何方法?

c# - 使用 where 子句选择和匿名对象的查询

.net - WiX 安装程序应始终以管理员身份运行

c# - 无法访问放置在 wpf 应用程序中另一个程序集中的资源(图像)

.net - .net 程序员的必备工具?

c# - 在 post 请求 asp.net mvc 中更改模型属性