小编典典

值列表的所有可能组合

c#

我的C#程序中有一个整数列表。但是,我只在运行时知道列表中的项目数。

让我们说,为了简单起见,我的列表是{1、2、3}现在我需要生成所有可能的组合,如下所示。{1,2,3} {1,2} {1,3} {2,3} {1} {2}

有人可以帮忙吗?


阅读 322

收藏
2020-05-19

共1个答案

小编典典

尝试这个:

static void Main(string[] args)
{

    GetCombination(new List<int> { 1, 2, 3 });
}

static void GetCombination(List<int> list)
{
    double count = Math.Pow(2, list.Count);
    for (int i = 1; i <= count - 1; i++)
    {
        string str = Convert.ToString(i, 2).PadLeft(list.Count, '0');
        for (int j = 0; j < str.Length; j++)
        {
            if (str[j] == '1')
            {
                Console.Write(list[j]);
            }
        }
        Console.WriteLine();
    }
}
2020-05-19