Метод класса не возвращает список - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть класс, который содержит список другого класса, и я хочу вернуть его в класс 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;
    }
}

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Проблема в том, что вы не инициировали значения характеристик Person.

public Person(string name, int age)
{
    this.name = name;
    this.age = age;
} 

Обратите внимание, что вы также можете переопределить ToString () в классе Person, чтобы получить хороший вывод:

public override string ToString()
{
    return "Name: " + this.name + ", Age: " + this.Age;
}

Используйте эту ссылку для получения дополнительной информации.

0 голосов
/ 02 февраля 2019

Возможно, проблема здесь:

Person person = new Person(Input[0], int.Parse(Input[1]));

Возможно, вы хотели сделать что-то вроде этого:

Person person = new Person(Input[i], int.Parse(Input[i+1]));

Вход в вашу программу может пролить свет на нее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...