TextBox 有下面一些数据
13552501083
13552501083
13552501087
13552501087
13552501087
13552501084
13552501085
13552501084
13552501089
13552501086后台取得文本框数据时,我得到了一个数组。
我需要实现是:将该数组所有有重复的数据都取出来,并将这些重复的在文本框中去掉。
如上数据取出:
13552501083
13552501083
13552501087
13552501087
13552501087
13552501084
13552501084
而只剩不重复的数据:
13552501085
13552501089
13552501086
13552501083
13552501083
13552501087
13552501087
13552501087
13552501084
13552501085
13552501084
13552501089
13552501086后台取得文本框数据时,我得到了一个数组。
我需要实现是:将该数组所有有重复的数据都取出来,并将这些重复的在文本框中去掉。
如上数据取出:
13552501083
13552501083
13552501087
13552501087
13552501087
13552501084
13552501084
而只剩不重复的数据:
13552501085
13552501089
13552501086
到网上去找一个Set的类型(就是数学里面的集合),拿来用就可以了
arraylist source;
arraylist dest;if(source.Count>0)
dest.append(source[0]);for(int i=1;i<source.Count;++i)
{
if(!HasContain(dest, source[i]))
{
dest.append(source[i]);
}
}bool HasContain(arraylist dest, string str)
{
foreach(string s in dest)
{
if(s == str)
return true;
}
return false;
}
http://www.codeproject.com/KB/recipes/sets.aspx
for(int i=0;i<arr.Count-1;++i)
{
for(int j=i;j<arr.Count;++j)
if(arr[i] == arr[j])
{
flag[i] = true;
flag[j] = true;
}
}arraylist dup;
arraylist nodup;
for(int i=0;i<arr.Count;++i)
{
if(flag[i])
nodup.append(arr[i]);
else
dup.append(arr[i]);
}
using System.Collections; string[] sourceStringArray = new string[] { "1", "2", "3", "1", "2", "3", "4", "5" };
Hashtable destHT = new Hashtable();
for (int i = 0; i < sourceStringArray.Length; i++)
{
object o = sourceStringArray.GetValue(i);
if (destHT.ContainsKey(o))
continue;
else
destHT.Add(o, o);
}如果需要得到里面的值,直接 foreach(object o in destHT)
如果得到某一个值,可以 destHT[key].tostring