C#卷曲括号问题

时间:2012-01-05 22:05:27

标签: c# curly-braces

我正在关注制作基于文本的游戏的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类型或命名空间定义,或预期的文件结尾

斜体表示按顺序排列的错误。由于某些原因,Visual c#express将不允许我使用{在方法定义中,并将我的最终}推出代码框。关于为什么会发生这种情况的任何想法?

7 个答案:

答案 0 :(得分:2)

public static void Initialize();

private static *BuildLevel*();

这些是声明。它们不能被{ }跟随。删除;即可。

private static TYPEHERE *BuildLevel*();

缺少返回类型。

答案 1 :(得分:2)

  • 方法后没有分号。你可能会因为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;
        }

    }
}

答案 2 :(得分:1)

删除两个;

public static void Initialize()
{
}

private static BuildLevel()
{
}

答案 3 :(得分:0)

public static void Initialize();
{
}

应该是

public static void Initialize()
{
}

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

这可能是问题所在:

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

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