【发布时间】:2015-04-05 09:05:19
【问题描述】:
所以我需要一种方法,它基本上会要求用户输入数字。然后它将检查从 0 到 1000 的所有数字,并返回数字总和等于用户给出的数字的数字。
我不确定我的代码是否正确以及它是否有效,因为我无法检查它,因为 return 语句不能以我认为的方式工作。
public static string stevilo()
{
Console.WriteLine("Enter your number! ");
string vnos = Console.ReadLine();
int x = Convert.ToInt32(vnos);
int sum = 0;
string a= " ";
foreach (var n in Enumerable.Range(0,1000))
{
if (n.ToString().ToCharArray().Sum(c => c - '0') == sum)
a = a + n.ToString();
}
return (a);
}
所以如果我的代码看起来像这样(上图),它总是会返回一个空字符串,因为它在方法的开头是空的。
但是,如果我像这样(如下)编写代码,我会收到一条消息:
并非所有代码路径都返回值
public static string stevilo()
{
Console.WriteLine("Enter your number! ");
string vnos = Console.ReadLine();
int x = Convert.ToInt32(vnos);
int sum = 0;
string a= " ";
foreach (var n in Enumerable.Range(0,1000))
{
if (n.ToString().ToCharArray().Sum(c => c - '0') == sum)
a = a + n.ToString();
return (a);
}
}
【问题讨论】: