在C#中从列表中配对值?

时间:2015-06-24 05:52:05

标签: c# arrays list

我有一个包含以下项目的列表:

A
B
C
D

我需要配对每个项目,所以我得到这样的东西:

A, B
A, C
A, D
B, C
B, D
C, D

我想以这种格式获取我的列表:List<string[]> itemSet;

我如何创建一个循环浏览项目的函数? 通过循环,我的意思是我可以有3个项目,而不是像我在我的exmaple中显示的两个项目。

更新:另一个例子:

AB
AD
BC
BD
CD

转到:

ABD, BCD

例如,我们可以使用新值ABADAB + AD = ABD,因为我们的第一项已经有A

2 个答案:

答案 0 :(得分:0)

string[] letters = { "d", "c", "a", "b" };  // Use LINQ query syntax to sort the array alphabetically.  var sorted = from letter in letters
             orderby letter
             select letter;     // Loop with the foreach keyword.   foreach (string value in sorted)    {
        Console.WriteLine(value);   }

---------------
Output
a
b
c
d

希望帮助你

答案 1 :(得分:0)

string[] array = {"A", "B", "C", "D"};
    var pairs = new List<string[]>();
    for (int i = 0; i < array.Length; i++)
    {
        for (int j = i + 1; j < array.Length; j++)
        {
            pairs.Add(new []
            {
                array[i],
                new string(array[j].ToCharArray().Except(array[i].ToCharArray()).ToArray<char>())
            });
        }
    }

    /*output of pairs
    A, B
    A, C
    A, D
    B, C
    B, D
    C, D
    */