2016-09-20 46 views
-2

好吧,我刚刚启动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); 
      }  
     }    
    } 
} 
+0

什么问题? –

+3

'private int username;'是第一个问题。这应该是'私人字符串用户名;'阅读编译器给你的错误信息。第二个问题是你在类外分配它,使用初始化字段的构造函数。 –

+0

@manaxi我的答案解决了您的问题吗?你能接受吗? – openshac

回答

0

我不知道到底你面临的问题是,但以下可能会帮助你:

// 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); 
     } 
    } 
} 
+0

解释为什么您将类用户名更改为用户可能也有帮助 – Fabjan

+0

好点@Fabjan – openshac

0

您的“用户名”属性是一个int当它应该是一个string

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

因此,无论范围设置为公开,或简单地使用:

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); 
      }  
     }    
    } 
} 
相关问题