我使用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();
问题是,是否有人知道此设置的位置?我到处搜索和谷歌搜索但无法找到它。
答案 0 :(得分:2)
这是我所知道的从查询语法转换它的唯一方法。 也许这可以以某种方式成为标准动作。否则,您必须手动或通过快捷方式调用它。