我有一個名爲Person的類,它實現IComparable<int>
generic接口。我有一個通用的列表,其中包含人物對象,我將我的列表分配給一個數組,我正在排序列表,但我正在採取follwing錯誤。CompareTo()方法不起作用
error: {"Failed to compare two elements in the array."}
這是我的Person類
public class Person : IComparable<int>
{
public int Age { get; set; }
public int CompareTo(int other)
{
return Age.CompareTo(other);
}
}
,並將該軟件CS
class Program
{
static void Main(string[] args)
{
List<Person> list2 = new List<Person>();
list2.Add(new Person() { Age = 80 });
list2.Add(new Person() { Age = 45 });
list2.Add(new Person() { Age = 3 });
list2.Add(new Person() { Age = 77 });
list2.Add(new Person() { Age = 45 });
Person[] array = list2.ToArray();
Array.Sort(array);
foreach (Person item in array)
{
Console.WriteLine(item.Age);
}
Console.ReadKey();
}
}
錯誤是在排序方法 – 2014-11-05 15:58:11
你必須實現'IComparable'使用它在'Person'數組上。 –
2014-11-05 15:59:42
爲什麼要轉換爲數組?在使用[OrderBy](http://msdn.microsoft.com/en-us/library/vstudio/bb534966(v = vs.100).aspx)時重複列表。 –
BCdotWEB
2014-11-05 16:00:17