2012-12-02 69 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

相关问题