C#新手开发计算器遇两类编译错误,求助类与对象使用问题
帮你搞定C#计算器的两个常见错误
别担心,刚入门C#碰到类和对象的问题太正常了!我先帮你拆解那两个错误,再给你一个能直接跑通的简易计算器示例,看完你肯定就明白啦~
先说说你遇到的两个错误原因
1. "Method must have a return type"
C#里所有方法都必须明确声明返回类型:
- 如果方法要返回一个结果(比如计算后的数字),就得写对应的类型(比如
int、double); - 如果方法不需要返回任何值,就写
void。
比如你可能写了Calculate(),但没加int或者void,编译器就会报错。
2. "a return keyword must not be followed by an object expression"
这个错误通常是方法声明的返回类型和实际返回的内容不匹配:
- 比如你声明了
void Calculate()(无返回值),但里面写了return someObject;,这就不对,因为void方法里只能写return;(提前结束方法),不能返回任何东西; - 或者你声明了
int Calculate(),但返回了一个类的实例(比如return new Calculator();),类型不匹配也会报这个错。
给你一个完整的简易计算器示例
下面是一个符合要求的实现,你可以参考着改自己的代码:
using System; // 定义计算器类 public class Calculator { // 加法方法:返回int类型结果 public int Add(int num1, int num2) { return num1 + num2; } // 减法方法:返回int类型结果 public int Subtract(int num1, int num2) { return num1 - num2; } // 如果需要支持小数,可以用double类型 public double Multiply(double num1, double num2) { return num1 * num2; } } class Program { static void Main(string[] args) { // 创建计算器对象 Calculator calc = new Calculator(); // 获取用户输入的两个数字 Console.WriteLine("请输入第一个数字:"); int num1 = int.Parse(Console.ReadLine()); Console.WriteLine("请输入第二个数字:"); int num2 = int.Parse(Console.ReadLine()); // 调用对象的方法完成计算 int sum = calc.Add(num1, num2); int difference = calc.Subtract(num1, num2); // 输出结果 Console.WriteLine($"两数之和:{sum}"); Console.WriteLine($"两数之差:{difference}"); } }
新手容易踩的坑再提醒下
- 别忘记给方法加返回类型,哪怕是
void也不能省; return后面的内容类型必须和方法声明的返回类型一致;void方法里如果要用return,只能单独写return;,不能带任何值。
内容的提问来源于stack exchange,提问作者sandromnator
相关产品推荐
相关产品推荐

