正在将查询从LINQ query语法更改为METHOD语法



我有一个简单的代码,用于投影给定字符串参数的排列。我需要将此代码中的查询从LINQ query语法更改为MEthod语法。将感谢任何帮助。

public static List<string> SinglePermutations(string s)
{
var result = new List<string> { "" };

foreach (var c in s)
{
result = (from r in result
from a in s
select $"{r}{a}").ToList();
}
}

救援:

public static IEnumerable<string> SinglePermutations(string s)
{
return s.Aggregate(result, (current, c) => current.SelectMany(r => s, (r, a) => $"{r}{a}")
.ToList());
}

Resharper,不转换为循环。所以在@kalu93回答之前一步。

public static List<string> SinglePermutations(string s)
{
var result = new List<string> { "" };

foreach (var c in s)
{
result = (result.SelectMany(r => s, (r, a) => $"{r}{a}")).ToList();
}
return result;
}

最新更新