【发布时间】:2023-02-23 08:05:08
【问题描述】:
我不明白为什么我的带有 Return String 的函数不能按预期工作,但是如果我执行 Console.WriteLine() 一切都会工作,但我需要 Return 而我无法做到......
我在 C# 中的代码是:
static void Main(string[] args)
{
Harshad(132);
}
public static string Harshad(int numb)
{
string response = "";
int sum = 0;
for (int i = numb; i > 0; i = i / 10)
{
sum = sum + i % 10;
}
if (numb % sum == 0)
{
//Console.WriteLine(numb + " is a harshad number");
response = "H";
}
else
{
//Console.WriteLine(numb + " is not a harshad number");
response = "M";
}
Console.WriteLine($"Sum of digits is {sum}");
return response;
}
我尝试了上面发布的代码——从一个以 int 作为参数的函数返回一个字符串;但它没有用;
【问题讨论】:
-
究竟是什么“不起作用”?您没有使用从被调用函数
Harshad(132)返回的值。值不在任何地方使用。将其存储到变量或打印到控制台。 -
旁注:一般来说,如果一个函数返回一个非 void 类型(比如你的例子中的 String),那么让它向控制台输出一些东西通常被认为是不好的,在学术界被称为“副作用”。
标签: c#