我是C#的初学者如何使用C#中的函数编写程序来汇总5000个数字?
static double sum (int sum)
{
double sumOfNumbers = 0;
for (int i = 0; i < 5000; i++)
{
double num = double.Parse(Console.ReadLine());
sumOfNumbers += num;
}
return sumOfNumbers;
}
static void Main(string[] args)
{
Console.WriteLine(sum());
Console.ReadKey();
}
答案 0 :(得分:1)
JohnG在可用性方面对您的问题做了很好的评论。
您当前的代码会继续询问数字,但不会向用户提供当前总和或用户输入的数量的上下文。
我会选择这些方面的东西:
static void Main(string[] args)
{
var sum = 0d;
var count = 0;
var continueAskingNumbers = true;
do
{
Console.Write($"Current Sum: {sum} ({count}). Enter a number: ");
var input = Console.ReadLine();
if (double.TryParse(input, out var enteredNumber))
{
sum += enteredNumber;
count++;
}
else
{
continueAskingNumbers = false;
}
} while (continueAskingNumbers);
}
由于您是初学者,我将在此代码中重点介绍一些概念:
0d
表示该值为double。如果我没有使用var
关键字,则不需要这样做。do { ... } while (...);
循环,因为我总是希望代码至少执行一次。Console.Write
而不是WriteLine
表示该值将在同一行输入,而不是在其下方的行中输入。$"..."
开头的美元符号表示插值字符串,允许通过{...}
double.TryParse
,以防用户输入无法解析为double的内容。如果发生这种情况,那么我假设用户已完成输入数字并关闭应用程序。out var enteredNumber
使用C#7.0中的新概念,您不再需要单独声明out参数的变量。但是,它的行为完全相同,如果它分两步完成。