我正在使用 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 。否则,您将不得不手动或通过快捷方式调用它。
关于c# - Resharper 使用扩展方法将 foreach 转换为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038353/