我已經在C#這個程序,它實現IComparable接口比較車輛的名稱和排序他們成功編譯alphabetically.The代碼,但在執行它給我StackOverFlowExecption.This是我的代碼 -StackOverflowException的原因是什麼?如何解決?
class Vehicle:IComparable
{
private string vehiclename
{
get
{ return vehiclename;
}
set
{
vehiclename = value;
}
}
public Vehicle(string name)
{
vehiclename = name;
}
int IComparable.CompareTo(Object obj)
{
Vehicle temp = (Vehicle)obj;
return string.Compare(this.vehiclename, temp.vehiclename);
}
static void Main(string[] args)
{
Vehicle[] myvehicles = new Vehicle[5];
myvehicles[0] = new Vehicle("Honda City");
myvehicles[1] = new Vehicle("Nano");
myvehicles[2] = new Vehicle("Desire");
myvehicles[3] = new Vehicle("Santro");
myvehicles[4] = new Vehicle("Nissan");
Console.WriteLine("Unordered List of vehicles:");
foreach (Vehicle v in myvehicles)
Console.WriteLine(myvehicles);
Array.Sort(myvehicles);
Console.WriteLine("ordered List of vehicles:");
foreach (Vehicle v in myvehicles)
Console.WriteLine(myvehicles);
}
}
什麼是這種例外的原因,我該如何解決它?