在Main方法内通过用户输入调用方法可行吗?输出无结果如何解决?
问题原因及解决方法
问题根源
你当前的Console.WriteLine调用方式有误:该方法的多参数重载要求格式字符串中包含对应占位符,否则传入的计算结果会被直接忽略,导致仅输出固定文本而不显示计算值。
修正后的代码示例
以下三种方式任选其一即可解决问题:
方式1:字符串插值(C# 6+推荐用法)
static void Main(string[] args) { int number1, number2; Console.WriteLine("Please enter a number: "); number1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Please enter another number: "); number2 = Convert.ToInt32(Console.ReadLine()); // 用字符串插值嵌入计算结果 Console.WriteLine($"Your answer is: {Add(number1, number2)}"); Console.ReadLine(); } public static int Add(int num1, int num2) { return num1 + num2; }
方式2:格式化占位符
将原输出行替换为:
Console.WriteLine("Your answer is: {0}", Add(number1, number2));
方式3:字符串拼接
将原输出行替换为:
Console.WriteLine("Your answer is: " + Add(number1, number2));
额外提示
若要避免用户输入非数字导致程序崩溃,可改用int.TryParse做输入验证:
Console.WriteLine("Please enter a number: "); if (!int.TryParse(Console.ReadLine(), out number1)) { Console.WriteLine("输入不是有效数字!"); return; }
内容的提问来源于stack exchange,提问作者r_each
相关产品推荐
相关产品推荐

