剔除单个数组中的重复项
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();