как инициализация структур работает в c#? - PullRequest
0 голосов
/ 19 апреля 2020

Я сейчас прохожу учебное пособие по игре c#, и так как я почти ничего не знаю о языке, простые вещи выглядят запутанно.

в моем классе у меня есть что-то вроде этого:

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

public TileStruct[,] Tile;

первый вопрос: что означает [,] здесь?

секунда, она инициализируется так:

Tile = new TileStruct[(byteValue), (byteValue)]

1) почему передаются два значения в TileStruct? Где они заканчиваются?

2) почему значения передаются в скобках?

1 Ответ

1 голос
/ 19 апреля 2020
public TileStruct[,] Tile;

Эта часть объявляет переменную publi c с именем Tile. TileStruct[,] означает, что эта переменная содержит ссылку на двумерный массив, который содержит экземпляры TileStruct. Вы можете прочитать больше об этом здесь .

Tile = new TileStruct[(byteValue), (byteValue)]

Эта строка создает новый экземпляр двумерного массива, о котором я упоминал ранее, и присваивает его переменной Tile. [(byteValue), (byteValue)] объявляет размер этого массива в каждом измерении. Эти значения никак не передаются в TileStruct. Скобки вокруг byteValue не нужны, и их удаление ничего не изменит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...