a数组有CV1到CV10的十个字段,我初始化值,然后有B数组,里面有CV1到CV10中的任意几个字段,把b和a中相同的字段,从a中去掉
在线等

解决方案 »

  1.   

    好像没有删除的方法,都用arraylist
      

  2.   

    int[] a={1,2,3,4,5,6,7,8,9,0};
    int[] b={1,45,67,8,90,12,3,5,87,9};for(int i=0;i<10;i++)
    {
       for(int j=0;j<10;j++)
       {
          if(a[i]==b[j])
          {
            
            a[i]=-9999;
          }
        }
    }
    这样就搞定了
      

  3.   

    public String GetCV(DataRow[] Lats)
            {
                
                String StrLats = "";
               // int[] k ={ 1,2,3,4,5,6,7,8,9,10};
                try
                {
                    for (int i = 1; i <= 10 ; i++)
                    {
                        #region
                        if (StrLats == "")
                        {
                            for (int j = 0; j < Lats.Length; j++)//Lats是一个数组,我要拿到他是CV几字段
                            {
                                if ((int)Lats[j]["LatNo"] == i)
                                {
                                    break;
                                }
                                else if ((int)Lats[j]["LatNo"] != i)
                                {
                                    StrLats = "," + "'CV' AS CV" + i;
                                    break;
                                }
                            }                    }
                        else
                        {                        for (int j = 0; j < Lats.Length; j++)
                            {
                                switch (i)
                                {
                                    case 1:
                                        break;
                                    case 2:
                                        break;
                                    case 3:
                                        break;
                                    case 4:
                                        break;
                                    case 5:
                                        break;
                                    case 6:
                                        break;
                                    case 7:
                                        break;
                                    case 8:
                                        break;
                                    case 9:
                                        break;
                                    case 10:
                                        break;
                                    default:
                                        StrLats += "," + "'CV' AS CV" + i;
                                        break;
                                }
                                break;
                            }
                        }
                        #endregion
                                        }
                }
                catch (Exception e)
                {
                    SqlContext.Pipe.Send(e.Message);
                }
                            finally
                {
                    ;
                }
                return StrLats;
            }
        }最后我想要的效果是,'CV' AS CV1, 'CV' as CV2  (CV字段是1到10中的任一一个)
      

  4.   

    .....
    lz设计精悍啊
    DataTable下那么多方法你不用,非要用数组这种不可变长的东西作删除处理
    这个方法既然能传进DataRow[] 为什么不能传DataTable?
    我说你怎么会说数组里的元素是字段呢?原来你就是想从DataTable里删除重复的列(Column)对不?
    那为什么要用数组呢??。汗!!~~~
      

  5.   

    。。哦,原来是想拼Sql文啊。
    那我也觉得没必要这么累
      

  6.   

    我是用C#写一个CLR.面向的是一个数据库,最终我要得到一句数据库语句.
    而那中间的一部分就是 'CV' AS CV1, 'CV' as CV2  (CV字段是1到10中的任一一个).
    请大侠给个好的写法
      

  7.   

    DataTable dt = Lats[0].Table;
            string StrLats = "";        for (int i = 1; i <= 10; i++)
            {
                foreach (DataRow row in dt.Select("LatNo=" + "'" + i + "'"))
                {
                    StrLats = "," + "'CV' AS CV" + i;
                }
            }
            return StrLats.Remove(StrLats.IndexOf(','));
    你看能用不?
      

  8.   

    晕!!~~把    foreach (DataRow row in dt.Select("LatNo=" + "'" + i + "'"))
                {
                    StrLats = "," + "'CV' AS CV" + i;
                }
    换成
                for (int j = 0; j < dt.Select("LatNo<>" + "'" + i + "'").Length; j++)
                {
                    StrLats = "," + "'CV' AS CV" + i;
                }
    抱歉哈~~
      

  9.   

    不行,
    我的数据库里现在CV3到CV7有值,现在的效果出现的是'CV' as CV1,'CV' as CV2, 'CV' as CV4....'CV' as CV8, 'CV' as CV9,'CV' as Cv10而我想的的是'CV' as CV1,'CV' as CV2,'CV' as CV8, 'CV' as CV9,'CV' as Cv10.(CV字段是随意哪个字段里都有值的.只是我现在数据库里CV3到CV7有值)
      

  10.   

    看看SQL帮助里的iif可能由帮助
      

  11.   

    使用SortList或者Dictionary都可以啊,很容易管理的。为什么非用Array?