C# 如果是数字c,如何用用户输入填充数组 好的,我刚开始C,试图从C++的基本方面过渡。我不知道如何将用户输入的数组列表填充到类中。 我的代码是这样的: namespace L1 { public class Users { private int username; public Users(string username) { this.username = username; } public string Takename() { return username; } } class Program { static void Main(string[] args) { List<Users> users = new List<Users>(); for(int i=1; i<=4; i++) { Console.Write("Enter username: "); Users user = new Users(); user.username= Console.Readline(); users.Add(user); } } } }

C# 如果是数字c,如何用用户输入填充数组 好的,我刚开始C,试图从C++的基本方面过渡。我不知道如何将用户输入的数组列表填充到类中。 我的代码是这样的: namespace L1 { public class Users { private int username; public Users(string username) { this.username = username; } public string Takename() { return username; } } class Program { static void Main(string[] args) { List<Users> users = new List<Users>(); for(int i=1; i<=4; i++) { Console.Write("Enter username: "); Users user = new Users(); user.username= Console.Readline(); users.Add(user); } } } },c#,arrays,C#,Arrays,用户名属性应为字符串时为int 此外,该属性的范围是私有的,只能在类的方法中修改 因此,要么将范围设置为public,要么简单地使用: User user = new Users(Console.ReadLine()); 以下是基于我告诉您的固定代码: namespace L1 { public class Users { private string username; public Users(string username)

用户名属性应为字符串时为int

此外,该属性的范围是私有的,只能在类的方法中修改

因此,要么将范围设置为public,要么简单地使用:

User user = new Users(Console.ReadLine());
以下是基于我告诉您的固定代码:

namespace L1
{
    public class Users
    {
        private string username;


        public Users(string username)
        {
            this.username = username;    
        }

        public string Takename() { return username; }    
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<Users> users = new List<Users>();
            for(int i=1; i<=4; i++)
            {
               Console.Write("Enter username: ");
               Users user = new Users(Console.Readline());
               users.Add(user);
            }      
        }               
    }
}

我不确定您所面临的问题到底是什么,但以下几点可能会对您有所帮助:

// Renamed to User as we are representing only one user
public class User
{
    // Renamed from userName to Name
    // Made a string to be consistent with the constructor
    // Made it a public property
    public string Name { get; set; }

    public User(string name)
    {
        Name = name;
    }

    public string TakenName() { return Name; }
}

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

        // for loops in c# typically are zero based
        for (int i = 0; i < 4; i++)
        {
            Console.Write("Enter Name: ");
            string name = Console.ReadLine();
            User user = new User(name);
            users.Add(user);
        }
    }
}

有什么问题吗?私有int用户名;这是第一个问题。应该是私有字符串用户名;阅读编译器给您的错误消息。第二个问题是,您在类之外分配给它,使用初始化字段的构造函数。@manaxi我的答案解决了您的问题吗?你能接受吗?解释一下为什么你把类用户的名字改为User可能也会有帮助