public static ListOfPeople operator +(ListOfPeople x, Person y)
{
ListOfPeople temp = new ListOfPeople(x);
if(!temp.PeopleList.Contains(y))
{
temp.PeopleList.Add(y);
}
temp.SaveNeeded = true;
return temp;
}
所以,我從來沒有使用運營商的過載功能,我試圖做的如何從我的課(人)對象添加到我的集合類(ListOfPeople)感。C#運算符重載使用
ListOfPeople包含一個屬性List<Person> PeopleList
;
我的困難是如何得到這個方法的內部預先存在的列表添加一個新的人來。 ListOfPeople temp = new ListOfPeople(x);
我已經在這條線的錯誤,因爲我沒有構造函數一個ListOfPeople說法。如果我想使它成爲ListOfPeople temp = new ListOfPeople();
那麼Temp就會調用我的默認構造函數,我只需創建一個新的空列表,並且不允許我將其添加到預先存在的列表中。
我只是不確定如何得到'臨時'來實際參考我的預存名單。
你不應該使用+運算符將項目添加到集合。我相信這甚至作爲一個例子,運算符重載應該不被使用。 – antonijn 2013-02-17 17:01:08
好吧,它將一個對象添加到Collection類中包含的List中。這仍然同樣糟糕嗎? – user1993843 2013-02-17 17:02:41
是的,看看其他.NET列表如何實現添加項目,它總是通過「添加」方法。 – antonijn 2013-02-17 17:04:06