이팩티브 C# 아이템20 IComparable<T>, IComparer<T> 객체의 선후 관계 정의 + Linq 활용과 성능 비교


이팩티브 C# 아이템20 IComparable<T>, IComparer<T> 객체의 선후 관계 정의 + Linq 활용과 성능 비교

요약 * IComparable<T>를 정의할 때는 <, <=, >, >= 도 같이 정의해 주는 걸 권장 * Equals()와 ==는 반드시 같이 구현될 필요는 없음 * 단순히 컨테이너 안의 정렬을 위해서라면 Linq 만으로 충분 기본 Customer 객체 Customer는 Name 이름과 Revenue 수익 필드가 있는 평범한 객체다. 이러한 객체는 List와 같은 컨테이너에 담게 되는 것이 일반적일 텐데 여기서 정렬을 위해 Sort()를 호출하면 InvalidOperationException 예외가 발생한다. 객체의 선후관계가 정의되어 있지 않기 때문이다. Customer 객체의 선후 관계 정의 이름을 기준으로 선후관계를 정의했다. 이제 List.Sort는 정상 동작하며 이름..........



원문링크 : 이팩티브 C# 아이템20 IComparable<T>, IComparer<T> 객체의 선후 관계 정의 + Linq 활용과 성능 비교