C# 布尔值的创建会导致错误吗?
好的,我正在为一个学校项目创建一个布尔存储。我有这个结构。。我在每一个结构的第一个{中都遇到了一个错误 错误2数组初始值设定项只能在变量或字段初始值设定项中使用。请尝试改用新表达式。Program.cs 34 17 Program 我不知道发生了什么事……有人能帮我吗C# 布尔值的创建会导致错误吗?,c#,arrays,sorting,boolean,C#,Arrays,Sorting,Boolean,好的,我正在为一个学校项目创建一个布尔存储。我有这个结构。。我在每一个结构的第一个{中都遇到了一个错误 错误2数组初始值设定项只能在变量或字段初始值设定项中使用。请尝试改用新表达式。Program.cs 34 17 Program 我不知道发生了什么事……有人能帮我吗 forwardAttackPossible = new bool [][] { {false,false,false,false,false,false,
forwardAttackPossible = new bool [][]
{
{false,false,false,false,false,false, //MOVE UP
false,false,false,false,false,
true,true,true,true,true,
true,true,true,true,true,
true,true,true,true,true},
{false,false,false,false,false,false, //MOVE UP RIGHT
false,false,false,false,false,
true,false,true,false,false,
false,true,false,false,false,
true,false,true,false,false},
{false,true,true,true,false,false, //MOVE RIGHT
true,true,true,false,false,
true,true,true,false,false,
true,true,true,false,false,
true,true,true,false,false},
{false,true,false,true,false,false, //MOVE DOWN RIGHT
false,true,false,false,false,
true,false,true,false,false,
false,false,false,false,false,
false,false,false,false,false},
{false,true,true,true,true,true, //MOVE DOWN
true,true,true,true,true,
true,true,true,true,true,
false,false,false,false,false,
false,false,false,false,false},
{false,false,false,true,false,true, //MOVE DOWN LEFT
false,false,false,true,false,
false,false,true,false,true,
false,false,false,false,false,
false,false,false,false,false},
{false,false,false,true,true,true, //MOVE LEFT
false,false,true,true,true,
false,false,true,true,true,
false,false,true,true,true,
false,false,true,true,true},
{false,false,false,false,false,false, //MOVE UP LEFT
false,false,false,false,false,
false,false,true,false,true,
false,false,false,true,false,
false,false,true,false,true}
};
更改语法如下:
forwardAttackPossible = new bool [][]
{
new[] { boolValues },
new[] { boolValues },
new[] { boolValues }
}
bool[] values = { true, false, true };
在您的示例中,您的代码应该如下所示:
forwardAttackPossible = new bool [][]
{
new [] {false,false,false,false,false,false, //MOVE UP
false,false,false,false,false,
true,true,true,true,true,
true,true,true,true,true,
true,true,true,true,true},
new[] {false,false,false,false,false,false, //MOVE UP RIGHT
false,false,false,false,false,
true,false,true,false,false,
false,true,false,false,false,
true,false,true,false,false},
// and so on...
};
因为错误表明:{false,false,false}仅在定义如下新字段或变量时有效:
forwardAttackPossible = new bool [][]
{
new[] { boolValues },
new[] { boolValues },
new[] { boolValues }
}
bool[] values = { true, false, true };
在您的情况下,您需要添加新的bool[]或仅添加新的[]明确声明要创建一个数组。对不起,C中正在使用它。错误非常明显。它会准确地告诉您错误所在以及应该做什么。似乎您需要创建一个适当的数据模型,而不是这个可怕的怪物。我建议使用s,它可以组合并用作标志。您可能想看看在这里:这真是太好了!谢谢!@我想你会解释这个答案的错误。我想你知道为什么: