我有一个包含另一个类的列表的类,我想将其返回到Main类,但是由于某种原因,我什么也没收到,我很确定自己可以正确填写该列表! 这是我的主班
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
Poll currpoll = new Poll();
for (int i = 0; i < n; i++)
{
string[] Input = Console.ReadLine().Split();
Person person = new Person(Input[0], int.Parse(Input[1]));
currpoll.Add(person);
}
currpoll.Order();
List<Person> final = currpoll.Getlist();
foreach (var person in final)
{
Console.WriteLine(person);
}
}
我的“人员班”:
class Person
{
public Person(string name, int age)
{
}
private string name;
private int age;
public int Age
{
get { return this.age; }
set { this.age = value; }
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
}
和我的包含列表最后类
class Poll
{
private List<Person> people = new List<Person>();
public void Add(Person member)
{
if (member.Age > 30)
{
this.people.Add(member);
}
}
public void Order()
{
this.people.OrderBy(x => x.Name);
}
public List<Person> Getlist()
{
return this.people;
}
}
答案 0 :(得分:2)
问题是,你并没有主动的人的特征值。
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
请注意,你也可以在Person类重写的ToString()为了得到很好的输出:
public override string ToString()
{
return "Name: " + this.name + ", Age: " + this.Age;
}
使用此link获取更多信息。
请标志着这个答案的解决方案,如果它帮助你。
答案 1 :(得分:-3)
可能问题是在这里:
Person person = new Person(Input[0], int.Parse(Input[1]));
也许你想要做这样的事情:
Person person = new Person(Input[i], int.Parse(Input[i+1]));
在输入到程序可以照它的一些光