C# 使用console.readline()设置我的Setter时出现问题;
我试图弄清楚如何通过控制台的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
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;
}
}