创建ClassList的多个输入

时间:2017-02-02 13:24:48

标签: c#

所以我编写了一段时间的C#并学习了基础知识,有一件事总是阻止我是如何创建一个类然后使用列表供用户输入值。

我不知道我是否完全没有使用此代码离开图表,问题是我不明白为什么我不能使用我新创建的类对象并为其添加输入。感谢所有帮助

class Program
{
    static void Main(string[] args)
    {
        List<Citizen> listOfCitizens = new List<Citizen>();

        for (int i = 0; i < listOfCitizens.Count; i++)
        {


        Console.WriteLine("Enter Surname for the citizen:");
        listOfCitizens.SurName.add = Console.ReadLine();

        Console.WriteLine("Enter Lastname for the citizen:");
        listOfCitizens.Lastname.add = Console.ReadLine();

        Console.WriteLine("Enter age of the citizen:");
        listOfCitizens.age.add = int.Parse(Console.ReadLine());

        }
        Console.WriteLine($"Name {Citizen.SurName} {Citizen.LastName} {Citizen.age}");
        Console.Read();
    }
}

class Citizen
{
    public static string SurName{ get; set; }
    public static string LastName{get;set;}
    public static int age { get; set; }
}

1 个答案:

答案 0 :(得分:3)

某些内容不是某事。就像一篮子苹果不是苹果。你不吃篮子,你从篮子里吃了一件物品。

因此,当您创建列表时:

List<Citizen> listOfCitizens = new List<Citizen>();

然后,您将创建一个以添加到列表中:

Citizen someCitizen = new Citizen();
someCitizen.SurName = "Smith";
// etc.

然后将其添加到列表中:

listOfCitizens.Add(someCitizen);

此外,您的Citizen稍微偏离了一点。这些属性不应该是static。不确定为什么你这样做,但是你应该从static类的所有内容中删除Citizen关键字。