如何打印或显示两个字符串列表的所有组合[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何打印或显示两个字符串列表的所有组合[重复]相关的知识,希望对你有一定的参考价值。

目前我有2个清单。例如:

List1
A
B
C

List2
a
b
c
d

期望输出为

Col1  Col2
A      a
A      b
A      c
A      d
B      a
B      b
B      c
B      d
C      a
C      b
C      c
C      d

如何生成这样的?

目前我有2个清单。例如:

List
A
B
C

List
a
b
c
d

我需要输出为

Col1  Col2
A      a
A      b
A      c
A      d
B      a
B      b
B      c
B      d
C      a
C      b
C      c
C      d
答案

使用简单的LINQ来迭代这两个列表

List<string> list1 = new List<string> { "A", "B", "C" };
List<string> list2 = new List<string> { "a", "b", "c", "d" };


var result = (from x in list1
              from y in list2
              select new
              {
                  Col1 = x,
                  Col2 = y
              }).ToList();


Console.WriteLine("Col1 	 Col2");

result.ForEach(x => Console.WriteLine(x.Col1 + "	" + x.Col2));

Console.ReadLine();

输出:

enter image description here

另一答案
List<string> list1 = new List<string>() { "A", "B", "C" };
            List<string> list2 = new List<string>() { "a", "b", "c", "d"};

            list1.ForEach(res =>
            {
                list2.ForEach(res1 =>
                {
                    Console.WriteLine(res + "  " + res1);
                });
            });

输出是:

Output

另一答案

正如我可以从您的问题中找到的那样,您可以使用两个嵌套循环来完成它。但是如果要创建组合列表,可以使用以下代码:

IList<string> List1 = new List<string>() { "A", "B", "C"};
IList<string> List2 = new List<string>() { "a", "b", "c", "d"};
IList<string> combination = List1.SelectMany(g => List2.Select(c => new { Value = g.ToString() + c.ToString() })).Select(a => a.Value).ToList(); 
foreach (var c in combination)
{
     Console.WriteLine(c); 
}

以上是关于如何打印或显示两个字符串列表的所有组合[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从给定的单词列表中生成具有“N”长度的所有可能组合(寻找不重复)

使用递归从 char 列表中打印 n 长度组合

获取字符串或组合的所有可能排列,包括 Java 中的重复字符

打印出数组数组中元素的所有组合[重复]

熊猫将具有相同索引的一列值组合到列表中[重复]

如何在打印或放入数组时从列表中删除 /n [重复]