问题是:
如何在C#中生成所有可能的3个字符串的列表?
要进行监督,这是在64 10 和90 10
的范围内答案 0 :(得分:26)
IEnumerable<string> GetAllStrings(params char[] inputCharacterSet) {
return from n in inputCharacterSet
from m in inputCharacterSet
from k in inputCharacterSet
select new string(new [] { n, m, k });
}
答案 1 :(得分:7)
public IEnumerable<String> Get3CharStrings(char[] domain)
{
foreach(char a in domain)
foreach(char b in domain)
foreach(char c in domain)
yield return "" + a + b + c;
}
编辑:这实际上比Mehrdad发布的LINQ解决方案慢得多,尽管大多数差异在于使用return "" + a + b + c
而不是return new string(new[] { a, b, c})
。
实际统计数据(26个字符的字母表,10k次迭代:
Mehrdad的代码:72.983秒
我的代码:127.205秒
我的代码与Mehrdad的回复声明:75.055秒