ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c#: 遍历列中列表诸项组合

2022-07-09 19:32:57  阅读:157  来源: 互联网

标签:string c# 列中 List lists Add 诸项 var new


应用场景:诸文件夹中视频合并,每个文件夹中取一个,找所有可用的组合。

网上找遍,未得所需,写其算法。

模型:以List<List<string>>模拟,代码如下:

        static void Main(string[] args)
        {
            string s = string.Empty;
            List<List<string>> lists = new List<List<string>>();
            var l1 = new List<string>() { "1", "2", "3", "4" };
            var l2 = new List<string>() { "5", "6" };
            var l3 = new List<string>() { "7", "8", "9", "0" };
            var l4 = new List<string>() { "a", "b", "c"};
            lists.Add(l1);
            lists.Add(l2);
            lists.Add(l3);
            lists.Add(l4);

            var lc = 1;
            foreach (var list in lists)
                lc *= list.Count;
            for (int i = 0; i <= lc - 1; i++)
            {
                s = string.Empty;
                for (int j = 0; j <= lists.Count - 1; j++)
                {
                    var list = lists[j];
                    int multi = 1;
                    for (int k = j + 1; k <= lists.Count - 1; k++)
                        multi *= lists[k].Count;
                    int index = (i / multi) % list.Count;
                    s += list[index] + ",";
                }
                Console.Write(s.Trim(',') + "    ");
                if ((i + 1) % 8 == 0)
                    Console.Write("\r\n");
            }

            Console.ReadLine();
        }

输出如下:

 

所得满足需求。贴之,聊作备忘~

标签:string,c#,列中,List,lists,Add,诸项,var,new
来源: https://www.cnblogs.com/crwy/p/16461704.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有