C# 双数组操作

C# 双数组操作,c#,asp.net,arraylist,C#,Asp.net,Arraylist,我在会话中有一个ArrayList,比如说[305306380] 提交时,用户选择我保存在第二个数组中的其他产品,例如[390305483080] 我如何制作另外三个阵列 所有新值[390480] 两个列表中的所有值[305380] 列表1中不在列表2中的所有值[306] 我需要在ASP.NET 4.0 C#中使用以下方法: var first = new HashSet<int>(); first.Add(...); var second = ...; 1. second.Ex

我在会话中有一个ArrayList,比如说
[305306380]

提交时,用户选择我保存在第二个数组中的其他产品,例如
[390305483080]

我如何制作另外三个阵列

  • 所有新值
    [390480]

  • 两个列表中的所有值
    [305380]

  • 列表1中不在列表2中的所有值
    [306]

  • 我需要在ASP.NET 4.0 C#

    中使用以下方法:

    var first = new HashSet<int>();
    first.Add(...);
    
    var second = ...;
    
    1. second.ExceptWith(first);
    2. first.IntersectWith(second);
    3. first.ExceptWith(second);
    
    var first=newhashset();
    第一,加上(…);
    第二个变量=。。。;
    1.第二,除(第一)项外;
    2.第一,与(第二);
    3.第一,除了(第二);
    
    使用以下方法:

    var first = new HashSet<int>();
    first.Add(...);
    
    var second = ...;
    
    1. second.ExceptWith(first);
    2. first.IntersectWith(second);
    3. first.ExceptWith(second);
    
    var first=newhashset();
    第一,加上(…);
    第二个变量=。。。;
    1.第二,除(第一)项外;
    2.第一,与(第二);
    3.第一,除了(第二);
    
    您可以使用根据ArrayList获取数组。然后使用LINQ,您可以很容易地通过一个方法得到您想要的,例如

    array2.Except(array1)
    array1.Except(array2)
    array1.Intersect(array2)
    
    编辑:完整代码

    根据您的要求,您的代码可能如下所示

            ArrayList arrayList1 = new ArrayList(new int[] { 305, 306, 380 });
            ArrayList arrayList2 = new ArrayList(new int[] { 390, 305, 480, 380 });
    
            int[] array1 = (int[])arrayList1.ToArray(typeof(int));
            int[] array2 = (int[])arrayList2.ToArray(typeof(int));
    
            //1. All New values
            int[] uniqueInArray2 = array2.Except(array1).ToArray();
    
            //2. Common values
            int[] commonValues = array1.Intersect(array2).ToArray();
    
            //3. Values of arrayList1 which are not in arrayList2
            int[] uniqueInArray1 = array1.Except(array2).ToArray();
    
    您可以使用来根据ArrayList获取数组。然后使用LINQ,您可以很容易地通过一个方法得到您想要的,例如

    array2.Except(array1)
    array1.Except(array2)
    array1.Intersect(array2)
    
    编辑:完整代码

    根据您的要求,您的代码可能如下所示

            ArrayList arrayList1 = new ArrayList(new int[] { 305, 306, 380 });
            ArrayList arrayList2 = new ArrayList(new int[] { 390, 305, 480, 380 });
    
            int[] array1 = (int[])arrayList1.ToArray(typeof(int));
            int[] array2 = (int[])arrayList2.ToArray(typeof(int));
    
            //1. All New values
            int[] uniqueInArray2 = array2.Except(array1).ToArray();
    
            //2. Common values
            int[] commonValues = array1.Intersect(array2).ToArray();
    
            //3. Values of arrayList1 which are not in arrayList2
            int[] uniqueInArray1 = array1.Except(array2).ToArray();
    

    到目前为止你试过什么吗?到目前为止你试过什么吗?当你做
    second.ExceptWith(first)时
    second
    获取当您执行
    second时从中删除的
    第一个
    中的元素
    second
    获取
    first
    中的元素,并将其从系统中删除。很长一段时间以来,我都不在系统中。我已经添加了完整的代码。希望这会有帮助!对不起,我离开我的系统很长时间了。我已经添加了完整的代码。希望这会有帮助!