c# - Resharper 使用扩展方法将 foreach 转换为 LINQ

标签 c# linq resharper

我正在使用 Resharper 7,有时当我编写 foreach 循环时,它建议我将其转换为 LINQ。 问题是我找不到可以选择使用扩展方法创建 LINQ 而不是以 LINQ 查询形式创建的设置。
我知道这应该是可能的,因为它曾经像以前那样使用我的旧设置(我不得不将它们恢复为默认设置,因为它们出于某种原因完全损坏了)。

这是 foreach 循环:

var idList= new List<string>();
  foreach (var entity in entityList)
  {
    if(entity.EntityPathOrNull==null)
      idList.Add(entity.Identity);
  }

它是这样转换的:

  var idList = (from entity in entityList where entity.EntityPathOrNull == null select entity.Identity).ToList();

这就是我想要的样子:

  var idList = entityList.Where(entity => entity.EntityPathOrNull == null).Select(entity=> entity.Identity).ToList();

问题是,有人知道这个设置在哪里吗?我到处搜索并用谷歌搜索,但找不到它。

最佳答案

这是我所知道的从查询语法转换它的唯一方法。 也许这可以以某种方式成为标准 Action 。否则,您将不得不手动或通过快捷方式调用它。

enter image description here

关于c# - Resharper 使用扩展方法将 foreach 转换为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038353/

相关文章:

c# - Resharper 建议将重载方法设为私有(private)

c# - c#中是否有类似SQL IN语句的比较运算符

c# Reporting Services -- ReportParameter 值不是字符串

c# - 根据条件将 list1 属性复制到 list2

c# - 如果一个方法在 linq 查询中,它会被多次调用吗?

c# - Windows Azure 表,使用 Contains 进行查询

c# - 具有多个参数的函数的 Resharper 右括号缩进

c# - 使 Enter 键像提交按钮一样

c# - 计划在nunit中自动执行测试

javascript - Visual Studio - 如何将 javascript 字符串从双引号重构为单引号