2012-12-02 74 views
1

我正在做一個簡單的註冊應用程序,我有一個任務來了解更多關於列表。我有一個任務說,我要創建一個名爲Persons的類,並在該類中設置變量中文本字段的值,並將其添加到Person類型的列表中。將字符串項添加到C#類型的Person列表中

到目前爲止:

Person類:

string strSocialSecurityNumber = string.Empty;//---(This will not be used now.) 
string strFirstName = string.Empty; 
string strLastName = string.Empty; 
string strFullName = string.Empty; 
string strAge = string.Empty; 
string strAll = string.Empty; 
int intAge = 0; 
List<Person> lstPerson = new List<Person>(); 

public void SetValues(string FirstName, string LastName, int Age) 
{ 
    strFirstName = FirstName; 
    strLastName = LastName; 
    strFullName = strFirstName + " " + strLastName; 
    intAge = Age; 
    strAge = Convert.ToString(intAge); 
    strAll = strAge + " " + strFullName; 

} 

public List<Person> Person() 
{ 
    lstPerson.Add(strAll); 
    return lstPerson; 
} 

錯誤消息: 「無法從字符串轉換到人」

分配說,名單是成爲Person類型,所以我應該添加字符串。我看了如何做到這一點,但我不知道如何。我看到有類似「ConvertAll」的選項,但我不確定是否允許使用它,因爲列表應該是Person類型的。

+3

你有人名單,所以你必須插入人員。如果您以字符串的形式獲取輸入內容,則可能需要將其視爲一個人,然後添加到列表中。 – ryadavilli

+0

^這。該任務會要求您使用文本字段中的值在Person實例中設置值,然後將Person實例添加到列表中。 – zimdanen

+0

起初我認爲你應該閱讀關於構造函數。你正試圖執行返回你指定的類型值的構造函數,這是什麼錯誤。在這裏,你可以閱讀一些原因:http://stackoverflow.com/questions/1788312/why-a-constructor-does-not-return-a-value – IDontKnowPopePersonally

回答

2

均具有人的名單,並在Person類我有點混亂,所有的屬性。 我認爲老師意味着你應該創建一個Persons類,其中包含Person列表。

public class Person 
{ 
    public string strFirstName; 
    ... 
} 

public class Persons 
{ 
    List<Person> lstPersons = new List<Person>(); 

    public void AddPerson(string FirstName, ...) 
    { 
     Person person = new Person(); 
     person.strFirstName = FirstName; 
     ... 
     lstPersons.Add(person); 
    } 
} 

我相信這更像是任務所要求的。

+0

那麼這似乎更合理,那麼我什麼確實,謝謝! 我從來沒有問過這裏的問題,通常我習慣於在這裏找到答案,所以我真的不知道如何標記我得到的解決方案作爲我的問題的答案。 – ThunD3eR

0

你不能把字符串轉換爲個人 您必須使用此

public List<Person> Person() 
    { 
     lstPerson.Add(new Person(){strAge =yourvalue,...}); 
     return lstPerson; 
    } 
+0

謝謝!有效! 所以基本上我需要創建一個新的列表實例(新人) 爲什麼這需要?每次我在列表中添加什麼東西時,我是否需要這樣做? 謝謝! – ThunD3eR

+0

因爲你做了一個人的名單,你不能將字符串類型轉換爲人,你必須添加一個人類型的list.mark我的解決方案作爲答案,如果它幫助你:) – KF2

相關問題