【发布时间】:2019-02-02 18:46:49
【问题描述】:
我有一个包含另一个类列表的类,我想将它返回到主类,但由于某种原因我什么也没收到,我很确定我正在正确填写列表! 这是我的主要课程
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;
}
}
【问题讨论】:
-
您能提供您的程序的输入吗?我怀疑这些人的年龄可能小于 30。如果是这样,他们将不会被添加到列表中。
-
附加调试器并单步执行代码,单步执行相关方法并使用适当的断点。跟随并理解每行代码执行的原因。这个问题是“帮助调试”,而不是最小的复制案例。
-
你的 Order() 方法什么都不做,OrderBy 返回一个 new 列表