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

时间:2014-09-25 12:11:34

标签: 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();

问题是,是否有人知道此设置的位置?我到处搜索和谷歌搜索但无法找到它。

1 个答案:

答案 0 :(得分:2)

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

enter image description here