一段时间后,我有一个数组列表“Templist”,我看到很多重复值被添加到数组列表中,所以我想删除重复项。当我用谷歌搜索时,我找到了一些解决方案,但其中大多数都令人困惑。有些地方在说明对arralist 进行排序并查找并删除重复项,有些地方告诉使用不同的地方,有些地方告诉使用hashlist。无论如何,我不想用其他一些结构替换 Arraylist。任何人都可以为我提供防止arraylist重复的逻辑吗?
我现在拥有的代码是
public class Templist : ArrayList
{
//some logic behind arraylist
} Templist items = new Templist();
if (!(obj is Testobject) && !(obj is Leafobject))
{
items.Add(obj);
}
if (items.Count > 0)
{
SSendObjectCollection(items);
}
static public void SendObjectCollection(Templist col)
{
try
{
col.Sort();
}
catch(System.Exception exception)
{
}
}
更新
我做了这个代码
public static string[] RemoveDuplicates(string[] s)
{
HashSet<string> set = new HashSet<string>(s);
string[] result = new string[set.Count];
set.CopyTo(result);
return result;
}
然后我像调用了现有函数 SendObjectCollection() 一样RemoveDuplicates(col);
,但它抛出了错误,任何人都可以指导我这里出了什么问题吗?