假设我有一个包含以下值的对象(另请注意,我不希望为此使用 datetime 对象,仅使用以下值,我希望在比较器本身中解决此问题):
int year;
int month;
int day;
int sec;
int min;
我如何将我的比较器中的所有这些多个值相互比较,以便根据日期列出它们?
然后我想创建一个 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;
}
}
}
最佳答案
像这样:
int 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
关于c# - 如何将多个对象值相互比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716792/