从列表中删除重复条目
本文关键字:删除 列表 | 更新日期: 2023-09-27 18:06:54
我有一个数组列表"Templist",在某个时间点之后,我看到很多重复的值被添加到数组列表中,所以我想到删除重复项。当我在谷歌上搜索时,我找到了一些解决方案,但大多数都令人困惑。有些地方它告诉我们排序,查找和删除重复项有些地方告诉我们使用distinct,有些地方告诉我们使用哈希列表。无论如何,我不想用其他结构代替数组列表。谁能给我提供逻辑,以防止重复数组列表?
现在我拥有的代码是
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)
{
}
}
i did this code
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);
但是它是抛出错误,谁能告诉我这里出了什么问题?
你必须解决两个问题。首先,您必须使用:
删除重复的值myArray = new Arraylist(myArray.Distinct().ToArray());
和在向数组列表添加值之前检查重复:
if(myArray.indexOf("value") == -1) {myArray.Add("value");}
希望对您有所帮助
请包括更多的信息,比如你在哪里添加项目到ArrayList。无论如何,你可以使用
ArrayList.Contain(somevalue)
在添加前检查是否存在于ArrayList中,以避免重复