数组1 = 606,629,631,609
数组2 = 606,631,609
两个数组中比较,取出数组中不同的一项629,只要629
另外下面是我写的,请帮我看看,先谢谢了
 foreach (ListItem sItem in Chk_Selected.Items)
                        {
                            foreach (string strArr in lastSelectItem.TrimEnd(',').Split(','))
                            {
                                if (sItem.Value == strArr)
                                {
                                    break;
                                }
                                else
                                {
                                    sValue = sItem.Value;
                                }
                            }
                        }

解决方案 »

  1.   

    理论上没什么问题,但是
    1能确定是数组1中比数组2中多吗?
    2能确定只有一项吗?就算这两条都成立 你的算法也不对,数组1中631和609交换以后结果就不正确了
      string returnvalue = "";
            bool biaozhi = false;
            foreach (ListItem sItem in Chk_Selected.Items)
            {
                foreach (string strArr in lastSelectItem.TrimEnd(',').Split(','))
                {
                    if (sItem.Value == strArr)
                    {
                        biaozhi = true;
                        break;
                    }
                }
                if (!biaozhi)
                {
                    returnvalue = sItem.Value;
                    break;
                }
            }
      

  2.   

    把较短的那组内容放到LIST中,然后利用Contains方法判断另一组是否存在于LIST中,如果FLASE自然就是不同项了。
      

  3.   


            List<string> listA = new List<string>();
            listA.Add("606");
            listA.Add("629");
            listA.Add("631");
            listA.Add("609");        List<string> listB = new List<string>();
            listB.Add("606");
            listB.Add("631");
            listB.Add("609");        foreach (string str in listB)
            {
                if (listA.Contains(str))
                {
                    listA.Remove(str);
                }
            }        foreach (string str in listA)
            {
                Response.Write(str);
                Response.Write("<br/>");
            }
      

  4.   

    to :scjtswj 
    谢谢啊!之前用了下面这种方法 bool flag = false;                        for (int i = 0; i < Chk_Selected.Items.Count; i++)
                            {
                                for (int j = 0; j < strExis.Length; j++)
                                {
                                    if (strExis[j].Trim() == Chk_Selected.Items[i].Value.Trim())
                                    {
                                        break;
                                    }
                                    else
                                    {
                                        if (j + 1 == strExis.Length)//找完所有第二个数组,没找到相同的
                                        {
                                            sValue = Chk_Selected.Items[i].Value.Trim();
                                            flag = true;
                                            break;//没找到相同的,跳出本循环
                                        }
                                        continue;
                                    }                            }
                                if (flag)
                                {
                                    break;//没找到相同的,跳出循环
                                }
                            }