C# 使用console.readline()设置我的Setter时出现问题;

C# 使用console.readline()设置我的Setter时出现问题;,c#,C#,我试图弄清楚如何通过控制台的readline设置Setter。任何帮助都会很好 MathOperations toDo = new MathOperations(); Console.WriteLine("Enter first number to calculate"); toDo.inputOne = int.Parse(Console.ReadLine()); Console.WriteLine("Enter second

我试图弄清楚如何通过控制台的readline设置Setter。任何帮助都会很好

        MathOperations toDo = new MathOperations();

        Console.WriteLine("Enter first number to calculate");
        toDo.inputOne = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter second number to calculate");
        toDo.inputTwo = int.Parse(Console.ReadLine());

        Console.WriteLine("Added: " + toDo.addNumbers(value1, value2));


您没有setter/getter属性,只使用set-/getMethods。您需要有这样一个属性:

public int InputOne {
    set { inputOne = value; }
    get { return inputOne; }
}

public int InputTwo {
    set { inputTwo = value; }
    get { return inputTwo; }
}
你想要一个合适的:

public int InputOne //bad name
{ get; set; }
这是一个自动属性的示例

您还可以执行以下操作:

private int inputTwo;
public int InputTwo //bad name
{ 
   get
   {
      return inputTwo;
   }
   set
   {
      inputTwo = value;
   }
}
使用其中一种方法,您的代码将通过编写以下代码来调用“set”函数:

InputOne = int.Parse(Console.ReadLine());
InputTwo = int.Parse(Console.ReadLine());
为了处理有关命名的注释,在本例中,我将使用
列出操作数
作为属性,并将readline命令添加到此列表中。然后addNumbers函数就变成:

return Operands.Sum();
这使得将来添加3、4或更多数字变得更加容易,而不必创建更多变量等。您甚至可以使用此方法读取循环中的输入。

使用


出于兴趣,您认为名称“代码> InputOne < /COD>和<代码> InputTwo < /代码>有什么不对,请记住<<代码> tuple < /Cult>类使用属性名称,如<代码> ITEM1
Item2
等。名称
operan1
operan2
会更好吗?末尾有数字的名称对我来说是个危险信号。在这样一个非常简单的程序中,我可以理解它,在您提到的情况下,它是有意义的(我可以想到的另一个地方是泛型委托参数的名称)。不过,一般来说,我希望使用数组或集合,而不是在末尾添加递增数字的变量列表作为良好样式。我个人更喜欢操作数1和操作数2,因为这是一个数学运算,是的。不使用编号变量的另一个很好的原因是可扩展性。如果要添加三个数字,会发生什么情况?您需要修改函数的签名,创建一个操作数3变量,它开始变得非常混乱。对于一个列表/数组,您已经在整个过程中进行了枚举(Hopfuelly),添加第三个操作数或参数非常简单(请参阅我更新的答案)
return Operands.Sum();
class MathOperations
{
    private int inputOne {get;set;}
    private int inputTwo {get;set;}

    public int addNumbers(int number1, int number2)
    {
        int total;
        total = number1 + number2;
        return total;
    }
}