CompareTo方法邏輯如何在列表排序函數中工作。CompareTo方法邏輯如何在列表排序功能中工作?
public class person : IComparable
{
string firstName;
string lastName;
public int CompareTo(object obj)
{
person otherPerson = (person)obj;
if (this.lastName != otherPerson.lastName)
return this.lastName.CompareTo(otherPerson.lastName);
else
return this.firstName.CompareTo(otherPerson.firstName);
}
public person(string _firstName, string _lastName)
{
firstName = _firstName;
lastName = _lastName;
}
override public string ToString()
{
return firstName + " " + lastName;
}
}
List<person> l = new List<person>();
l.Add(new person("Mark", "Hanson"));
l.Add(new person("Kim", "Akers"));
l.Add(new person("Zsolt", "Ambrus"));
l.Sort();
foreach (person p in l)
Console.WriteLine(p.ToString());
很難理解compareTo處理。 – 2010-10-15 15:07:07
您是通過比較來處理什麼的? – 2010-10-15 15:14:00
好吧,我收到你的舉例,我的意思是你在答案中寫的同樣的處理。謝謝。 – 2010-10-15 15:17:02