【发布时间】:2020-06-18 12:40:58
【问题描述】:
所以,我尝试使用 linq 制作一种方法,从字符串中产生所有可能的回文。方法是这样的:`
public IEnumerable<string> MakingPalindromesFromAString(string source)
{
return Enumerable
.Range(1, source.Length)
.SelectMany(length => Enumerable.Range(0, source.Length - length + 1)
.Select(a => source.Substring(a, length)))
.Where(b => b.SequenceEqual(b.Reverse()))
.ToArray();
}
现在,我不明白 SelectMany 为什么(或如何)订购 Enum?因为,对于这个例子:
"xxyxxz"
输出(来自我尝试手动运行该方法的方式)应该是这样的:
z xxyxx xx x xyx x y xx x x
但实际上是这样的:
x x y x x z xx xx xyx xxyxx
有人知道为什么会这样吗?
【问题讨论】:
标签: c# linq palindrome