private class CompAdvertisements : IComparer<Advertisements>
{
private string OrderBy { get; set; }
public CompAdvertisements(string orderBy)
{
OrderBy = orderBy;
}
#region IComparer<Advertisements> Members
public int Compare(Advertisements x, Advertisements y)
{
return x.Country.Name.CompareTo(y.Country.Name);
我还可以使用x.Name.CompareTo(y.Name);在比较器中,我将与两个元素进行比较,这些元素依次按顺序排序,按顺序排列2
答案 0 :(得分:3)
是。如果外部比较表明您的两个元素(Country.Name)是相同的,那么您将返回内部比较的结果(somethingElse)。你可以做任意深度的比较。
outerCompare = x.Country.Name.CompareTo(y.Country.Name);
if (outerCompare != 0)
{
return outerCompare;
}
else
{
return (x.Name.CompareTo(y.Name));
}
答案 1 :(得分:0)
Eric J.是对的。您可能还想查看this stackoverflow question.这里的答案提供了几种可以对List进行排序的方法,并且它们还详细介绍了如何使用IComparer对象执行与您正在执行的操作类似的任务。 / p>