C#의 IComparable 인터페이스
C#에서 IComparable 인터페이스를 사용하여 요소를 정렬합니다. 또한 현재 인스턴스를 동일한 유형의 다른 개체와 비교하는 데 사용됩니다.
특정 유형의 두 개체를 비교하는 방법을 제공합니다. IComparable 인터페이스를 구현하는 동안 CompareTo() 메서드도 구현해야 합니다.
예를 들어 보겠습니다 -
int IComparable.CompareTo(object ob) { Vehicle v=(Vehicle)ob; return String.Compare(this.make,v.make); }
C#의 IComparer 인터페이스
IComparer 인터페이스는 두 객체를 비교하는 요소를 정렬하는 데 사용되며 추가적인 비교 방법을 제공합니다.
예시
private class sortYearAscendingHelper : IComparer { int IComparer.Compare(object ob1, object ob2) { Vehicle v1=(Vehicle)ob1; Vehicle v2=(Vehicle)ob2; if (v1.year > v2.year) return 1; if (v1.year < v2.year) return -1; else return 0; } }
이제 IComparer 개체의 인스턴스를 반환합니다.
public static IComparer sortYearAscending() { return (IComparer) new sortYearAscendingHelper(); }