如何从C#数组中删除重复项?
我一直在使用C#中的一个string[]
数组,它从函数调用中返回。 我可能投到一个Generic
集合,但我想知道是否有更好的方法来做到这一点,可能通过使用临时数组。
从C#数组中删除重复项的最佳方法是什么?
您可以使用LINQ查询来执行此操作:
int[] s = { 1, 2, 3, 3, 4};
int[] q = s.Distinct().ToArray();
这里是HashSet <string>方法:
public static string[] RemoveDuplicates(string[] s)
{
HashSet<string> set = new HashSet<string>(s);
string[] result = new string[set.Count];
set.CopyTo(result);
return result;
}
不幸的是,这个解决方案还需要.NET framework 3.5或更高版本,因为直到该版本才添加HashSet。 你也可以使用array.Distinct(),这是LINQ的一个特性。
如果你需要对它进行排序,那么你可以实现一种排除重复的排序。
然后用一块石头杀死两只鸟。
链接地址: http://www.djcxy.com/p/51319.html上一篇: How do I remove duplicates from a C# array?
下一篇: CSV string handling