В C# две основные категории типов — это типы значений (такие как структуры) и ссылочные типы (такие как классы). Поскольку структура (или struct) является типом значения, она ориентирована на данные.
Структура может хранить атрибуты и связанные с ними методы, которые предпочтительно не фокусируются на поведении.
Как объявить структуру
Каждое объявление структуры должно иметь структура ключевое слово. Перед ключевым словом struct используйте модификатор доступа, а после него укажите имя и пару фигурных скобок. Вот как объявить структуру Game:
публичный структура игры {}
Как заполнить структуру
Структура хранит данные внутри своих фигурных скобок в виде атрибутов, конструкторов, методов, событий и т. д.
публичный структура игры
{
публичный имя строки;
публичный строковое описание;
публичныйинт уровни;публичныйИгра(имя строки, описание строки, инт уровни){
это.имя = имя;
это.описание = описание;
это.levels = уровни;
}
общедоступная строка переопределения ToString() => $"Название: {name}, Описание: {description}, Уровни: {levels}";
}
Структура Game теперь имеет три атрибута, конструктор и метод. Это три основных компонента структуры C#, которые также являются тремя основными компонентами структуры. С# класс.
Как создать структурную переменную
Каждый экземпляр структуры C# называется переменная. Есть два способа создать переменная из структуры. Вы можете использовать конструктор:
Игра game1 = новая игра("Покéпн ВПЕРЕД", "Lorem ipsum dolor sit amet.", 50);
Или вы можете присвоить значения отдельным атрибутам структуры с помощью оператора точки (.):
Игра игра1;
игра1.имя = "Покéпн ВПЕРЕД";
игра1.описание = "Lorem ipsum dolor sit amet.";
game1.levels = 50;
Оба подхода достигают одного и того же результата. Приведенный выше код использует C# для разработки игрового объекта Pokémon GO с кратким описанием и 50 уровнями. Итак, теперь вы можете использовать объект game1.
Приставка.WriteLine(игра1.Нанизывать());
Это выводит на консоль следующий вывод:
Имя: Покémon GO, Описание: Lorem ipsum dolor sit amet., Уровни: 50
Различия между структурой и классом
Структура и класс имеют схожий внешний вид, но имеют много заметных различий. Они используют разные ключевые слова для объявления. И структуры не поддерживают ни нулевые ссылки, ни наследование.