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

如何定位缺失的}以修复C#代码中的'} expected'错误?

问题分析与解决

一、代码语法错误(引发} expected提示)

你的代码里Start方法内部的这一行存在语法错误:

public GameObject cards = GameObject.FindGameObjectWithTag("CardPosition");

在C#的方法(比如Start())内部声明变量时,不能使用public这类访问修饰符,这会直接导致编译器语法解析混乱,进而误报“缺少}”的错误,同时也会让VSCode的括号配对功能失效。

二、修复代码

根据你的需求选择以下两种修复方案:

方案1:将变量作为方法内部局部变量

如果cards仅在Start方法内使用,直接去掉public修饰符即可:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

public class TopicSpawn : MonoBehaviour
{
    public TextMeshProUGUI topicText;
    public string[] allTopics = new string[9];
    public string winText;
    private int topicIndex;

    // Start is called before the first frame update
    void Start()
    {
        topicIndex = Random.Range(0, 8);
        GameObject persistantObj = GameObject.FindGameObjectWithTag("PersistentObj") as GameObject;
        winText = persistantObj.GetComponent<PersistenceScript>().winText;
        // 去掉public,作为局部变量使用
        GameObject cards = GameObject.FindGameObjectWithTag("CardPosition");
    }  
}

方案2:将变量作为类的公共字段

如果需要在其他脚本中访问cards变量,把它移到类的字段区域(Start方法外部):

using System.Collections;
using System.Collections;
using UnityEngine;
using TMPro;

public class TopicSpawn : MonoBehaviour
{
    public TextMeshProUGUI topicText;
    public string[] allTopics = new string[9];
    public string winText;
    private int topicIndex;
    // 移至此处作为公共字段
    public GameObject cards;

    // Start is called before the first frame update
    void Start()
    {
        topicIndex = Random.Range(0, 8);
        GameObject persistantObj = GameObject.FindGameObjectWithTag("PersistentObj") as GameObject;
        winText = persistantObj.GetComponent<PersistenceScript>().winText;
        cards = GameObject.FindGameObjectWithTag("CardPosition");
    }  
}

三、恢复VSCode括号配对指引

代码存在语法错误时,VSCode的C#语言服务无法正确解析代码结构,导致配对虚线消失。修复语法错误并保存代码后,配对指引通常会自动恢复。如果仍未恢复,可以尝试:

  • 重启VSCode
  • 打开命令面板(Ctrl+Shift+P),执行C#: Restart OmniSharp命令,重启C#语言服务

内容的提问来源于stack exchange,提问作者Sophie Lee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 11:29:52