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

C#程序出现"} expected"错误:构造器与结尾大括号均报错求助

嘿,我来帮你搞定这个烦人的} expected错误!这种情况真的很让人挠头——明明数了好几遍大括号数量是对的,编译器却硬说少了一个。别慌,咱们一步步排查可能的原因:

1. 构造函数里的语法错误“连累”了大括号检查

你粘贴的代码里构造函数参数有...,这大概率是你省略了部分内容,但如果实际代码里存在不完整的语法(比如逗号后面没写完参数、字符串引号没闭合、数字格式错误),编译器会直接混乱,把错误提示定位到后面的大括号上。举个例子:

  • 如果1985,后面没有补充参数,或者某个字符串只写了前引号没写后引号,编译器会误以为代码还没结束,进而报错说缺大括号。

2. 第二个类的嵌套位置不对

你提到写了两个类,很可能是把第二个类(比如Car)错误地嵌套在了Program类的内部。C#里如果是两个独立的顶级类,必须放在namespace下面,和Program类同级,而不是嵌套在另一个类里。比如错误的结构:

namespace Cars {
    class Program {
        static void Main(string[] args) {
            // ...
        }
        // 错误:Car类嵌套在Program里面了(除非你故意写嵌套类)
        class Car {
            // ...构造函数
        }
    }
}

正确的结构应该是:

namespace Cars {
    class Program {
        static void Main(string[] args) {
            // ...
        }
    }
    // 独立的Car类,和Program同级
    class Car {
        // ...构造函数
    }
}

3. 代码里遗漏了分号或小括号

比如在构造函数内部的赋值语句、表达式里,有没有漏写分号?或者在调用方法、创建对象时漏写了小括号?这些小错误都会让编译器的语法分析混乱,最终把错误甩给大括号。

4. IDE缓存抽风了

有时候Visual Studio的错误提示会滞后,缓存了旧的错误状态。你可以试试:

  • 点击Build -> Clean Solution清理解决方案
  • 再点击Build -> Rebuild Solution重新生成
  • 实在不行就重启VS,很多时候这招能解决莫名其妙的错误

给你一个能正常运行的示例代码参考:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Cars
{
    class Program
    {
        static void Main(string[] args)
        {
            // 完整调用Car的构造函数
            Car c1 = new Car("Audi", "A1", "AB12 CDE", 1985);
            Console.WriteLine($"这是一辆{c1.Year}年的{c1.Brand} {c1.Model}");
        }
    }

    class Car
    {
        // 类的属性
        public string Brand { get; set; }
        public string Model { get; set; }
        public string LicensePlate { get; set; }
        public int Year { get; set; }

        // 完整的构造函数
        public Car(string brand, string model, string licensePlate, int year)
        {
            Brand = brand;
            Model = model;
            LicensePlate = licensePlate;
            Year = year;
        }
    }
}

先从构造函数的参数完整性查起,再检查类的结构,应该就能找到问题啦!

内容的提问来源于stack exchange,提问作者Rory Danes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:03:54