如何比较多个对象值?

Nea*_*aer 1 c# icomparer

假设我有一个具有以下值的对象(另请注意我不希望使用datetime对象,只是下面的值,我希望在比较器本身中解决这个问题):

int year; 
int month; 
int day;
int sec;
int min;
Run Code Online (Sandbox Code Playgroud)

如何将我的Comparer中的所有多个值相互比较,以便按日期列出?

然后我想创建一个Comparer.cs类:

class MyComparer: IComparer
{
    int sort;

    public MyComparer(int s)
    {
        sort= s;
    }

    public int Compare(object x, object y)
    {
        Date d1 = (Date)x;
        Date d2 = (Date)y;
        int result= 0;

         // d1.Year.CompareTo(d2.Year);  //get accessors from other class
        // i seem to be limited here by comparing only 1 single value to a other?

        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

}

SLa*_*aks 7

像这样:

result = d1.Year.CompareTo(d2.Year)
if (result != 0) return result;

result = d1.Month.CompareTo(d2.Month)
if (result != 0) return result;

...

return 0;   //All properties were equal
Run Code Online (Sandbox Code Playgroud)