使用ReSharper将Linq转换为代码

本文关键字:代码 转换 Linq ReSharper 使用 | 更新日期: 2023-09-27 18:13:56

我已经在我的Visual Studio 2010 Pro上安装了ReSharper 8.2.1 Full,我需要将Linq转换为foreach。我在他们的帮助网站上找到了一篇文章,上面说用Resharper可以把linq表达式转换成代码。

当我在Visual Studio中打开应用程序并在查询表达式处放置插入符号并按下Alt+Enter时,我可以看到"转换Linq到方法链",但另一个选项"转换Linq到代码"缺失。我需要添加任何设置才能使其工作吗?有人尝试过这个选项吗?

使用ReSharper将Linq转换为代码

"Convert LINQ to code"只适用于特定的表达式模式,如foreach语句或return语句,可以用yield return转换成循环。你的代码块是什么?

    var data = lines
        .Skip(1)
        .Select(p=>p.Split(','))
        .GroupBy(p=>p[0])
        .Select((p,i)=>new Datastore.QuizCategory{
            Id = i+1,
            Name = p.Key,
            QuizQuestions = p.Select(pp=>new QuizQuestion{
                Question = pp[1],
                Options = pp[2].Replace("'uff1b", ";").Split(";"),
                Answers = pp[3].Replace("'uff1b", ";").Split(";")
                    .Where(p=>string.IsNullOrEmpty(p)==false)
                    .Select(ppp=>int.Parse(ppp))
                    .ToArray()
            }).ToArray()
        }).ToArray();