You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:29:03