如何创建类的实例,并使用用户输入作为其名称来访问其方法和变量?

时间:2018-04-10 13:03:13

标签: c# class user-input

我希望能够使用用户的输入创建和引用类。我是编码的新手,所以我不太确定解决这个问题的最佳方法。如果没有课程有更好的方法,我愿意接受建议。

class Program
{
    static void Main(string[] args)
    {

        Console.WriteLine("What is the name of the Salesmen?");
        string userInput = Console.ReadLine();
        //Create Class Instance
        Salesmen[userInput] = new Salesmen();
        //Access Class Methods or Variables
        [userInput].Age = 35;
    }
}
class Salesmen
{
    public int Age;
    public int Salary;
}

2 个答案:

答案 0 :(得分:1)

使用new关键字创建类的实例,使用句点.访问类成员和函数(通常读作“点”)。

Salesmen salesman = new Salesmen();
salesman.name = userInput;

第一行创建一个新的Salesmen对象(或其实例),第二行将其name字段设置为userInput的值。

但是,由于您尚未声明一个字段来保存该值,因此我们需要修改您的类以便它可以存储该名称(我还将字段名称设置为小写 - 这是惯例):

class Salesmen
{
    public int age;
    public int salary;
    public string name;
}

从您的问题中不清楚,但从您为课程选择的名称判断,您似乎希望存储多个推销员对象。在这种情况下,您需要一个数组结构,如数组或list。我们将您的班级重命名为Salesman(单数),因为每个对象都代表一个推销员,并声明一个列表以容纳所有销售人员:

List<Salesman> salespeople = new List<Salesman>();
Salesman s = new Salesman();
s.name = userInput;
salespeople.Add(s);

答案 1 :(得分:0)

首先 - 您使用的方括号是用于索引器的,所以此时它不适用。 第二 - 要实例化一个对象,你需要使用一个构造函数,如下所示:

Salesmen salesman = new Salesmen();

“salesman”(注释案例)现在是新对象的名称。然后,您可以像这样访问该对象的成员:

salesman.Name = userInput;

您必须将“Name”属性添加到Salesman类,才能拥有名称。 还有其他方法可以实现这一目标,但我认为这会让你开始。

熟悉类和对象的概念,从长远来看,它将改进您的代码。快乐的编码!