C# 将多个数字传递到使用params修饰符的Add方法中?
请参阅以下答案: 关于参数的问题(在一定程度上)。我想知道的是,如何(如果可能的话)使用它来获取用户输入,而不是预定义的数字? 所以,我知道我可以做Console.Write(calculator.Add(1,43,23)),但我想处理用户输入C# 将多个数字传递到使用params修饰符的Add方法中?,c#,C#,请参阅以下答案: 关于参数的问题(在一定程度上)。我想知道的是,如何(如果可能的话)使用它来获取用户输入,而不是预定义的数字? 所以,我知道我可以做Console.Write(calculator.Add(1,43,23)),但我想处理用户输入 class Program { static void Main(string[] args) { var calculator = new Calculator(); var input = Conver
class Program
{
static void Main(string[] args)
{
var calculator = new Calculator();
var input = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(calculator.Add(input));
}
}
public class Calculator
{
public int Add(params int[] numbers)
{
var sum = 0;
foreach (var number in numbers)
{
sum += number;
}
return sum;
}
}
沿着这条思路应该会奏效。我可能犯了语法错误:D
使用系统;
班级计划
{
静态void Main(字符串[]参数)
{
var calculator=新计算器();
var输入=GetNumbers();
计算器。添加(输入);
Console.WriteLine(calculator.Add(input));
}
公共静态int[]GetNumbers()
{
Console.WriteLine(“输入用空格分隔的数字”);
string input=Console.ReadLine();//使用此命令获取用户输入
string[]arr=input.Split(“”);//在空格处拆分输入
int[]输出=新int[arr.Length];//在相同长度的数组中创建
for(int i=0;i
您可以将所有用户输入存储在一个数组中,并将该数组传递给添加
var calculator = new Calculator();
var input = Array.ConvertAll<int>(Console.ReadLine().Split(' '));
calculator.Add(input);
var计算器=新计算器();
var input=Array.ConvertAll(Console.ReadLine().Split(“”));
计算器。添加(输入);
ConvertAll
需要两个参数,因为我知道输入的变量是什么类型的。谢谢,我来看看这个。知道为什么我的问题被否决了吗?我不明白,这是一个合理的问题。这个网站有时确实让我感到沮丧。如果不是像我这样的人来从中学习,并获得其他知识,它有什么意义呢?只是说,在这篇文章以及OP中,有一行不必要的计算器。Add(input)在控制台.WriteLine(calculator.Add(input))之前的code>代码>。OP可能有兴趣输入一个可重复使用结果的变量。Macro,是的,我应该在发布之前编辑一下代码。我把那条线留下了,因为我正处于变化之中。我来编辑。