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();
}