C#花括号问题

本文关键字:问题 | 更新日期: 2023-09-27 18:19:38

我正在学习一个关于C#的制作基于文本的游戏的教程,一开始我就遇到了一个问题。以下代码:

namespace GameV2
{
    class Level
    {
        private static Room[,] rooms;
        #region Properties
        public static Room[,] Rooms
        {
            get { return rooms; }
        }
        #endregion

        public static void Initialize();
    *{*
    }
        private static *BuildLevel*();
    {
    }
        return false;

    }
*}*

给了我3个错误。

错误1类、结构或接口成员声明中的令牌"{"无效

错误2需要类、委托、枚举、接口或结构
错误3类型或命名空间定义,或预期的文件结尾

斜体字按顺序表示错误。出于某种原因,Visualc#express不允许我在方法定义中使用{,并将我的final}从代码框中推出。有什么想法吗?

C#花括号问题

  • 方法后面没有分号。你可能混淆了C方法原型。

  • BuildLevel应具有返回类型。

  • 所有语句都必须在方法内部,只能在方法外部进行声明

这应该编译:

namespace GameV2
{
    class Level
    {
        private static Room[,] rooms;
        #region Properties
        public static Room[,] Rooms
        {
            get { return rooms; }
        }
        #endregion

        public static void Initialize()
        {
        }
        private static bool BuildLevel()
        {
            return false;
        }
    }
}
public static void Initialize();
private static *BuildLevel*();

这些是声明。它们后面不能跟{ }。卸下;,它就会工作。

private static TYPEHERE *BuildLevel*();

这缺少返回类型。

移除两个;

public static void Initialize()
{
}
private static BuildLevel()
{
}
public static void Initialize();
{
}

应该是

public static void Initialize()
{
}

删除函数声明末尾的分号(在左大括号之前)。

注意分号。方法名称和它们的主体之间有分号。

这可能是问题所在:

private static *BuildLevel*();
    {
    }
        return false;

您没有指定返回类型,return false;应该在方括号内。