c# 怎么删除一个集合中重复的数据

2025-04-25 15:38:25
推荐回答(3个)
回答1:

static void Main(string[] args)
{
List dinosaurs = new List();

//为集合添加元素
dinosaurs.Add("Compsognathus");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Oviraptor");
dinosaurs.Add("Oviraptor");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Oviraptor");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Oviraptor");
dinosaurs.Add("Gallimimus");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Triceratops");
dinosaurs.Add("Triceratops");

Console.WriteLine();

//对集合进行排序,便于删除相同的元素
dinosaurs.Sort();

//打印未删除前的集合
foreach (string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}

Console.WriteLine();

//开始删除元素相同的元素
String tempStr = "";
for (int i = 0; i < dinosaurs.Count; i++)
{
if (tempStr != dinosaurs[i])
{
tempStr = dinosaurs[i];
}
else
{
dinosaurs.RemoveAt(i);
i--;
}

}

//打印删除相同元素后的集合
foreach (string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}

Console.Read();
}

简单的笨方法,参考一下呗

回答2:

放到一个Hashtable里面去。 将数据作为key。

回答3:

distinct