【发布时间】:2016-03-19 07:28:58
【问题描述】:
我创建了一个带有 iComparable 接口的 Customer 类。
public class Customer: IComparable<Customer>
{
public int ID {set; get;}
public string Name {set; get;}
public int Salary {set; get;}
public int CompareTo(Customer obj)
{
if (this.Salary > obj.Salary)
return 1;
else if
(this.Salary < obj.Salary)
return -1;
else
return 0;
}
}
在主程序中,我创建了一个客户列表并添加了三个客户。
List<Customer> ListCust = new List<Customer>();
ListCust.Add(Cust1);
ListCust.Add(Cust2);
ListCust.Add(Cust3);
然后我对列表进行排序。
ListCust.Sort();
我的问题是这种列表排序方法如何获取 Customer 类的“CompareTo”部分。最初,当我尝试在没有 iComparable 接口的情况下对其进行排序时,它给了我无效的操作错误。
下面的问题是为什么我不能在没有 iComparable 接口的客户类中创建一个“CompareTo”方法并使其工作?
【问题讨论】:
标签: c# icomparable