如何在c#中生成所有可能的3-chars字符串?

时间:2009-08-28 02:33:18

标签: c# string

问题是:

  

如何在C#中生成所有可能的3个字符串的列表?

要进行监督,这是在64 10 和90 10

的范围内

2 个答案:

答案 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秒