c# - 为 ClassList 创建多个输入

标签 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; }
}

最佳答案

某物列表不是某物。就像一篮子苹果不是苹果一样。你不吃篮子,你吃篮子里的东西

因此,当您创建列表时:

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

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

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

然后将其添加到列表中:

listOfCitizens.Add(someCitizen);

另外,您的Citizen 有点不正常。这些属性不应该是static。不确定为什么要那样做,但您应该从 Citizen 类中的所有内容中删除 static 关键字。

关于c# - 为 ClassList 创建多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003407/

相关文章:

c# - ASP .Net MVC 用户所有权和授权

C# : Why is my SqlDateTime. MinValue 在不同的机器上不同?

c# - 延迟加载 IEnumerable.Take()

c# - 哎呀,这个作业里发生了什么

c# - 使用正则表达式在 c# 中突出显示 CSS 语法

c# - 我如何在 Parallel.ForEach 期间添加或更新此 .NET 集合?

c# - 两个十六进制字节数组的 XOR 函数

c# - Tamarin Studio中出现关于 “Cannot Declare Instance Members in Static Class”的错误消息

c# - Irony 解析器中的表达式优先级

c# - VS 2012 中不存在“分析代码克隆解决方案”命令