在c#中初始化结构是如何工作的?

在c#中初始化结构是如何工作的?,c#,C#,我现在正在学习c语言的游戏教程,因为我对c语言几乎一无所知,所以简单的东西看起来很混乱 在我的课堂上,我有这样的东西: [Serializable] public struct TileStruct { public TileDataStruct[] Layer; public byte Type; public int Data; public byte DirBlock; } public TileStruct[,] Tile; 第一个问题是这里的

我现在正在学习c语言的游戏教程,因为我对c语言几乎一无所知,所以简单的东西看起来很混乱

在我的课堂上,我有这样的东西:

[Serializable]
public struct TileStruct
{
    public TileDataStruct[] Layer;
    public byte Type;
    public int Data;
    public byte DirBlock;
    }

public TileStruct[,] Tile;
第一个问题是这里的
[,]
是什么意思

第二,它是这样初始化的:

[Serializable]
public struct TileStruct
{
    public TileDataStruct[] Layer;
    public byte Type;
    public int Data;
    public byte DirBlock;
    }

public TileStruct[,] Tile;
Tile=newtilestruct[(字节值),(字节值)]

1) 为什么要将两个值传递给TileStruct?他们会在哪里结束

2) 为什么这些值用括号传递

public TileStruct[,] Tile;
此部分声明名为
Tile
的公共变量
TileStruct[,]
表示此变量包含对二维数组的引用,该数组包含
TileStruct
的实例。你可以阅读更多关于这方面的内容


这一行创建了我前面提到的二维数组的新实例,并将其分配给
Tile
变量
[(字节值),(字节值)]
在每个维度中声明此数组的大小。这些值不会以任何方式传递给
TileStruct
字节值周围不需要括号,删除它们不会改变任何事情。

这是一个二维数组:TileStructs的二维数组?是的,
public TileStruct[,]Tile
声明了一个成员变量,它是
TileStruct
s的二维数组