有一个整型数组A里面存了2,3两个数,另外一个数组B存了1,2,3,4,5,6六个数。 要将A里面不存在的B中的元素放到数组C中,该如何来实现呢?

解决方案 »

  1.   

    for ( int i = ArrayA.GetLowerBound(0); i <= ArrayA.GetUpperBound(0); i++ )
    {
       for ( int j = ArrayB.GetLowerBound(0); j<= ArrayB.GetUpperBound(0); j++ )
          {
              if (ArrayA(i)==ArrayB(j))
                 {
                     //copyto c
                 }
          }
    }
      

  2.   

    一次循环就够了把B循环一遍,看B中的数是否存在A 中就可以了。。
      

  3.   

    int c = 0;
    for ( int b = 0; b < B.Length; b++ )
    {
       for ( int a = 0; a < A.Length; a++ )
       {
          if ( B[b] == A[a] )
          {
               break;
          }
          C[c++] = B[b];
       }
    }
      

  4.   

    上面的错了
    int c = 0;
    for ( int b = 0; b < B.Length; b++ )
    {
        for ( int a = 0; a < A.Length; a++ )
        {
            if ( B[b] == A[a] )
            {
                break;
            }
        }
        C[c++] = B[b];  //  这句得放这
    }
      

  5.   

    如果你用ArrayList只要一个循环。另一个用ArrayList带的函数来判断(其实也相当于两次循环,只不过估计ArrayList会优化)。
      

  6.   

    System.Collections.ArrayList a = new System.Collections.ArrayList();
    a.Add(2);
    a.Add(3);
    System.Collections.ArrayList b = new System.Collections.ArrayList();
    b.Add(1);
    b.Add(2);
    b.Add(3);
    b.Add(4);
    b.Add(5);
    b.Add(6);
    System.Collections.ArrayList c = new System.Collections.ArrayList();
    for(int i=0;i<b.Count;i++)
    {
    if(!a.Contains(b[i]))
    {
    c.Add(b[i]);
    }
    }
      

  7.   

    int[] a = { 2, 3, 5, 9 };
                int[] b = { 1, 2, 4, 6 };            int[] c = Array.FindAll(a, delegate(int v) { return Array.IndexOf(b, v) < b.GetLowerBound(0); });