C의 정수 목록이 있습니다. #. 중복을 제거하고 싶습니다. C++에서는 고유 한 목록을 얻는 매우 효율적인 방법으로 std :: sort 및 std :: unique 알고리즘을 통해 실행할 것입니다.std :: sort 및 std :: unique에 해당하는 C#
C#에서 같은 작업을 수행하는 가장 좋은 방법은 무엇입니까? 즉, 다음 코드를 수행하는보다 우아한 방법을 찾고 있습니다.
private static int[] unique(int[] ids)
{
IDictionary<int, object> d = new Dictionary<int, object>();
foreach(int i in ids)
d[i] = null;
int[] results = new int[d.Count];
int j = 0;
foreach(int id in d.Keys)
results[j++] = id;
return results;
}
내가로부터 많은 혜택이 있다고 생각하지 않습니다 정렬 - 내가 이해하는 한, HashSet은 특별한 순서가 아닙니다. 게다가 .NET 3.5 (OP는 .NET 2.0 만 지원) –