数组初始值设定项错误
本文关键字:错误 数组 | 更新日期: 2023-09-27 18:23:42
当试图将CubeDescriptionr类型的变量添加到数组时,我得到错误:数组初始化器只能在变量或字段初始化器中使用。请尝试使用新的表达式。我看了这个论坛上的其他一些话题,但我似乎不明白我在这里做错了什么。
public class CubeDescriptor
{
public EcubeType CubeType;
public Texture2D Texture;
public bool isMineable;
}
public static CubeDescriptor[] TypeTable = {
{EcubeType.Air, null, false},
{EcubeType.Grass, grass, false},
{EcubeType.Stone, stone, true}
};
public class CubeDescriptor
{
public EcubeType CubeType;
public Texture2D Texture;
public bool isMineable;
}
public static CubeDescriptor[] TypeTable = new {
new CubeDescriptor(EcubeType.Air, null, false),
new CubeDescriptor(EcubeType.Grass, grass, false),
new CubeDescriptor(EcubeType.Stone, stone, true)
};
编辑:
如果你没有构造函数,那么你可以做
public static CubeDescriptor[] TypeTable = new {
new CubeDescriptor {CubeType = EcubeType.Air, Texture2D = null, isMineable = false},
new CubeDescriptor {CubeType = EcubeType.Grass, Texture2D = grass, isMineable = false},
new CubeDescriptor {CubeType = EcubeType.Stone, Texture2D = stone, isMineable = true}
};
C#不支持C样式结构初始化。
要用CubeDescriptor
填充数组,需要调用CubeDescriptor
构造函数来创建一个新实例。
您可以使用对象初始值设定项语法设置字段:
new CubeDescriptor { CubeType = ..., Texture = ..., ... }