为一组Numbers生成组合

时间:2012-10-15 15:30:27

标签: c# for-loop numbers combinations

在C#中,我想为5位数的{1,2,3,4,5,6,7,8,9,0}生成组合。所以,我希望得到11111,11112等的输出,直到99999.

当我搜索时,当我把它扔进控制台应用程序时,我没有得到任何可行的东西。

组合总是出现错误......

3 个答案:

答案 0 :(得分:7)

执行for循环并从11111到99999计数:

for(int i = 11111; i<=99999; i++){
    var combination = i.ToString();
    Console.WriteLine(combination);
}

或者如果你想要00001到99999

for (int i = 0; i <= 99999; i++)
{
    var combination = String.Format("{0:D5}", i);
    Console.WriteLine(combination);
}

答案 1 :(得分:2)

从0到99999的简单计数将产生所有组合(如果你想要所有组合,你真的应该从00000开始)

答案 2 :(得分:2)

如果您正在寻找一种组合数字的方法,而不是专门用于获取序列,您可以对其进行linq查询。

         var bob = new [] {1,2,3,4,5,6,7,8,9,0};
         var greg =
             from a in bob
             from b in bob
             from c in bob
             from d in bob
             from e in bob
             select string.Concat(a, b, c, d, e);