C#Console不写对象字符串

时间:2018-02-12 05:26:38

标签: c# console

我正在尝试让控制台写一个字符串作为对象的一部分,但是控制台将字符串部分留空。

这就是我获取信息的方式:

Console.WriteLine("Please Enter an Agent Name: ");
agent1 = (Console.ReadLine());

Console.WriteLine("Please Enter " + agent1 + "'s Number of Customers: ");
ID1 = int.Parse(Console.ReadLine());

然后将变量代理1传递给我创建的类:

Insurance Agent1 = new Insurance(agent1, ID1);

然后我试图告诉控制台写出代理商的名称和客户编号:

Console.WriteLine("Agent 1 Name: "+ Agent1.Agent +" , Agent 1 Number of Customers: " + Agent1.Customers +".");

但是,控制台会写入客户编号,这是一个int,但不是字符串代理。

  

请输入代理商名称:测试请输入测试编号   客户:12

     

代理1名称:,代理1客户数量:12。

有关如何使其发挥作用的任何想法吗?

编辑:

这是保险类供参考:

class Insurance
{
    private string _Agent; //String for _Agent because it will be a series of letters
    private int _Customers; //Int for _Customers because it will be a whole number

    public Insurance (string Agent, int Customers)
    {
        this.Agent = Agent;
        this.Customers = Customers;
    }

    public string Agent
    {
        get { return _Agent; }
        set { _Agent = Agent; }
    }

    public int Customers
    {
        get { return _Customers; }
        set //Only set _Customers if the value is larger or equal to zero, if less than zero (negative) set to zero
        {
            if (value >= 0)
            {
                _Customers = value;
            } else if (value < 0) {
                _Customers = 0;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您的“设置”访问者设置不正确。它将_Agent的值设置为Agent,它在属性本身上调用“get”。 Agent的“getter”会返回_Agent的{​​{1}}字段。

改为使用null

value

另外,如果可以的话,这里有一些关于修剪该课程的其他建议。但要带上一点点盐,特别是如果你只是在学习。

public string Agent
{
    get { return _Agent; }
    set { _Agent = value; }
}