剔除单个数组中的重复项

        ArrayList list = new ArrayList();
            list.Add("C#");
            list.Add("一只鱼先生");
            list.Add("一只鱼先生");
            list.Add("VS2005");
            list.Add("C#");
            list.Add("AFishMan");
            list.Add("AFishMan");
            list.Add("J#");
            for (int i = 0; i < list.Count; i++)
            {
                for (int j = i + 1; j < list.Count; j++)
                {
                    if (list[i] == list[j])
                        list.RemoveAt(j);
                }
            }

两个数组间比较剔除重复选项

public static string ChargeOffList(ArrayList listall, ArrayList listpart)
        {
            string htmllist = string.Empty;
            if (listpart.Count == 0)
                return "";
            for (int i = 0; i < listall.Count; i++)
            {
                for (int j = 0; j < listpart.Count; j++)
                {
                    if (listall[i].ToString() == listpart[j].ToString())
                    {
                        listall.RemoveAt(i);
                    }
                }
            }
            string[] listTemp = new string[listall.Count];
            listall.CopyTo(listTemp, 0);
            for (int i = 1; i < listall.Count; i++)
            {
                if (Convert.ToInt64(listall[i - 1]) != Convert.ToInt64(listall[i]) - 1)
                    listTemp.SetValue(".", i);
            }
            for (int i = 0; i < listTemp.Length; i++)
            {
                htmllist += listTemp[i] + ",";
            }
            string[] htmlstr = htmllist.Split('.');
            string realstr = string.Empty;
            for (int i = 0; i < htmlstr.Length; i++)
            {
                htmlstr[i] = htmlstr[i].Remove(htmlstr[i].Length - 1, 1);
                if (i != 0)
                    htmlstr[i] = htmlstr[i].Remove(0, 1);
                realstr += htmlstr[i].Substring(0, htmlstr[i].IndexOf(',')) + "-" + htmlstr[i].Substring(htmlstr[i].LastIndexOf(',') + 1) + ",";
            }
            return realstr;
        }

--------------

                string realstr = ChargeOffList(listall, listpart);
                realstr = realstr.Remove(realstr.Length - 1, 1);
                string[] realstring = realstr.Split(',');
                this.DataSource.Clear();
               
                for(int i=0;i<realstring.Length;i++)
                {
                    DataRow drr = this.DataSource.Tables[0].NewRow();
                    drr[tb_IssueRegData.lotnumber] = i+1;
                    drr[tb_IssueRegData.startnum] = realstring[i].Split('-')[0];
                    drr[tb_IssueRegData.endnum] = realstring[i].Split('-')[1];
                    drr[tb_IssueRegData.receivename] = this.UserSsdwName;
                    this.DataSource.Tables[0].Rows.Add(drr);
                }
                BindGrid();

posted on 2009-01-16 09:08  一只鱼先生  阅读(154)  评论(0)    收藏  举报