Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C相同列表/数组元素的并集_C#_Arrays_List_Union - Fatal编程技术网

C# C相同列表/数组元素的并集

C# C相同列表/数组元素的并集,c#,arrays,list,union,C#,Arrays,List,Union,好的,我现在遇到的问题是:我想把同一个数组的元素彼此统一起来 例如:我有一个包含以下元素的数组A、B、C、D 我想把它们统一起来,然后把它们放在另一个列表中,这样它就会变成: A、 B A、 C A、 D B、 C B、 D C、 D 到目前为止,我已经尝试了一个简单的for循环,但没有成功,也不知道如何进一步实现 以下是迄今为止我尝试过但没有成功的方法: List<string> testList = new List<string>(); List<string

好的,我现在遇到的问题是:我想把同一个数组的元素彼此统一起来

例如:我有一个包含以下元素的数组A、B、C、D

我想把它们统一起来,然后把它们放在另一个列表中,这样它就会变成:

A、 B

A、 C

A、 D

B、 C

B、 D

C、 D

到目前为止,我已经尝试了一个简单的for循环,但没有成功,也不知道如何进一步实现

以下是迄今为止我尝试过但没有成功的方法:

List<string> testList = new List<string>();
List<string> anotherList = new List<string>();

testList.AddRange(richTextBox1.Text.Split(','));
anotherList.ToArray();

for (int i = 0; i < testList.Count; i++) //no idea how to get the right count
{
    var union = testList[i].Union(testList[i+1]);

    foreach (char value in union)
    {
        richTextBox2.Text = value.ToString();
    }
}

谢谢。

这对我来说很好,可以匹配您想要的输出

static List<string> list = new List<string> { "A", "B", "C", "D", "E" }; 
static List<string> finished = new List<string>(); 

public static void Main()
{
    for (int i = 0; i < list.Count - 1; i++)
        for (int j = i+1; j < list.Count; j++)
            finished.Add(list[i]+","+list[j]);
}

这对我来说很好,可以匹配您想要的输出

static List<string> list = new List<string> { "A", "B", "C", "D", "E" }; 
static List<string> finished = new List<string>(); 

public static void Main()
{
    for (int i = 0; i < list.Count - 1; i++)
        for (int j = i+1; j < list.Count; j++)
            finished.Add(list[i]+","+list[j]);
}

这对我来说很好,可以匹配您想要的输出

static List<string> list = new List<string> { "A", "B", "C", "D", "E" }; 
static List<string> finished = new List<string>(); 

public static void Main()
{
    for (int i = 0; i < list.Count - 1; i++)
        for (int j = i+1; j < list.Count; j++)
            finished.Add(list[i]+","+list[j]);
}

这对我来说很好,可以匹配您想要的输出

static List<string> list = new List<string> { "A", "B", "C", "D", "E" }; 
static List<string> finished = new List<string>(); 

public static void Main()
{
    for (int i = 0; i < list.Count - 1; i++)
        for (int j = i+1; j < list.Count; j++)
            finished.Add(list[i]+","+list[j]);
}

也许这个简单的查询有助于:

var query = from s1 in testList
        from s2 in testList.Skip(1)
        where string.Compare(s1 , s2) < 0
        select string.Format("{0},{1}", s1, s2);
testList = query.ToList();

也许这个简单的查询有助于:

var query = from s1 in testList
        from s2 in testList.Skip(1)
        where string.Compare(s1 , s2) < 0
        select string.Format("{0},{1}", s1, s2);
testList = query.ToList();

也许这个简单的查询有助于:

var query = from s1 in testList
        from s2 in testList.Skip(1)
        where string.Compare(s1 , s2) < 0
        select string.Format("{0},{1}", s1, s2);
testList = query.ToList();

也许这个简单的查询有助于:

var query = from s1 in testList
        from s2 in testList.Skip(1)
        where string.Compare(s1 , s2) < 0
        select string.Format("{0},{1}", s1, s2);
testList = query.ToList();

这可能是一个很好的开始,以找出正确的计数

无论如何 您可以执行类似伪代码的操作:

List<string> unions = new List<string>();
foreach(string s1 in list1)
{
    foreach(string s2 in list2)
    {
        string union = s1+s2;
        if(!unions.Contains(union))
            unions.Add(union);
    }
}

foreach(string union in unions)
    Console.WriteLine(union);
您还可以使用LINQ的Distinct


这可能是一个很好的开始,以找出正确的计数

无论如何 您可以执行类似伪代码的操作:

List<string> unions = new List<string>();
foreach(string s1 in list1)
{
    foreach(string s2 in list2)
    {
        string union = s1+s2;
        if(!unions.Contains(union))
            unions.Add(union);
    }
}

foreach(string union in unions)
    Console.WriteLine(union);
您还可以使用LINQ的Distinct


这可能是一个很好的开始,以找出正确的计数

无论如何 您可以执行类似伪代码的操作:

List<string> unions = new List<string>();
foreach(string s1 in list1)
{
    foreach(string s2 in list2)
    {
        string union = s1+s2;
        if(!unions.Contains(union))
            unions.Add(union);
    }
}

foreach(string union in unions)
    Console.WriteLine(union);
您还可以使用LINQ的Distinct


这可能是一个很好的开始,以找出正确的计数

无论如何 您可以执行类似伪代码的操作:

List<string> unions = new List<string>();
foreach(string s1 in list1)
{
    foreach(string s2 in list2)
    {
        string union = s1+s2;
        if(!unions.Contains(union))
            unions.Add(union);
    }
}

foreach(string union in unions)
    Console.WriteLine(union);
您还可以使用LINQ的Distinct

另一个list.ToArray;没有赋值就没有意义。另一个列表。ToArray;没有赋值就没有意义。另一个列表。ToArray;没有赋值就没有意义。另一个列表。ToArray;没有分配就没有意义。