필자는 연관성이없는 필드 값으로 그룹화하는 연관 컨테이너에 넣으려는 객체가 있습니다. 나는 다음과 같은했다 그래서 경우 :비교할 수없는 개체를 그룹화하는 SortedSet 형 컨테이너가 있습니까?
using System.Collections.Generic;
using Pair = System.Tuple<Penguin, int>;
class Penguin {}
class Whatever {
public static void Main(string[] args) {
Penguin emperor = new Penguin(),
adelie = new Penguin(),
batmanVillain = new Penguin();
var okay = new HypotheticalCollection<Pair>(5);
okay.Add(new Pair(emperor, 1));
okay.Add(new Pair(adelie, 2));
okay.Add(new Pair(batmanVillain, 3));
okay.Add(new Pair(emperor, -500));
okay.Add(new Pair(batmanVillain, 5));
}
}
을하고 난 HypotheticalCollection을 통해 반복, 내가 함께 함께 두 emperor
항목과 두 batmanVillain
항목을보고 싶어,하지만 내가 먼저 어느 쪽의를 걱정하지 않는다. 그러나 로그 시간에 항목을 조회 할 수 있기를 원합니다.
C++을 사용하는 경우 해당 주소로 Penguin
을 정렬 하겠지만 C#에는 그 고급 기능이 없습니다. 지금은 각 객체에 일련 번호를 지정하여 처리하고 있지만 해피가 느껴지고 여분의 공간이 필요하지 않습니다. 더 좋은 방법이 있습니까, 아마도 ReferenceLessThan
기능 또는 뭔가?
[비교 자] (https://stackoverflow.com/questions/14336416/using-icomparer-for-sorting)를 쓰지 않는 이유는 무엇입니까? 생성 한 후에는 SortedSet [생성자] (https://msdn.microsoft.com/en-us/library/dd395024(v=vs.110) .aspx)로 전달할 수 있습니다. – john