0
다양한 기능에 의해 비교 : 나는 기능 GetValue()
를 선택하고자 할 때 () - 내가 지금처럼 <code>CompareTo()</code>을 구현
public override int CompareTo(object obj)
{
//quick failsafe
MyClass other;
if (obj is MyClass)
{
other = obj as MyClass;
}
else
{
return 1;
}
//now we should have another comparable object.
/*
* 1: this is greater.
* 0: equals.
* -1: this is less.
*/
if (other.GetValue() < this.GetValue())
{
// this is bigger
return 1;
}
else if (other.GetValue() > this.GetValue())
{
//this is smaller
return -1;
}
else
{
return 0;
}
}
그러나 상황이 흥미로운 얻을. 그 중 몇 가지를 설정했습니다. 즉
Average()
,
Best()
,
CorrectedAverage()
,
Median()
입니다. 나는
floats
배열을 비교합니다. 나는이 클래스에서 정의한
enum
에
switch-case
을 사용하고 싶지 않습니다. 무엇을 주문해야하는지 알려줍니다. 어떤 기능을 좋고 깨끗하게 주문할 것인지 결정하는 방법이 있습니까?
도움 주셔서 감사합니다. 무슨 뜻인지 힌치가 있지만 좀 더 설명해 주시겠습니까? 내말은, 어떻게하는거야? – hei
@hei 오브젝트를 비교할 때마다 IComparer을 구현하는 클래스를 생성합니다. 각 개체는 서로 다른 방식으로 비교합니다. 이러한 객체를 비교하는 방법 (예 : 정렬 작업)을 알아야하는 작업을 수행하려는 사용자는 상황에 적합한 비교자를 사용할 수 있습니다. 만약 그들이 평균값을 사용하여 비교하기를 원한다면, 그들은'MedianComparer'를 사용합니다. 평균을 사용하여 비교하기를 원한다면 그들은'MeanComparer'를 사용합니다. –
Servy
그래서 4 "CompareTo()"함수가 있습니까? 그리고 나는 더 많이 또는 더 적은 복사 - 붙여 넣기, 그냥 GetValue() 대신 다른 기능을 사용하십시오 – hei