В C# двете основни категории типове са стойностни типове (като структури) и референтни типове (като класове). Тъй като структура (или структура) е тип стойност, тя е ориентирана към данните.

Структурата може да съхранява атрибути и свързани методи, които за предпочитане не се фокусират върху поведението.

Как да декларирам структура

Всяка декларация на структура трябва да има структура ключова дума. Предшествайте ключовата дума struct с модификатор за достъп и включете име и чифт фигурни скоби след него. Ето как да декларирате структура, наречена Game:

публичен struct Game {}

Как да попълните структура

Структурата съхранява данни в своите фигурни скоби под формата на атрибути, конструктори, методи, събития и т.н.

публичен struct Game
{
публичен име на низ;
публичен описание на низ;
публиченвътр нива;

публиченИгра(име на низ, описание на низ, вътр нива){
това.name = име;
това.description = описание;
това.levels = нива;
}

публичен заменим низ ToString() => $"Име: {name}, Описание: {description}, Нива: {levels}";
}

instagram viewer

Структурата Game вече има три атрибута, конструктор и метод. Това са три основни компонента на C# структура, които също са три от основните компоненти на a C# клас.

Как да създадете структурна променлива

Всеки екземпляр на C# структура е известен като a променлива. Има два начина за създаване на променлива от структура. Можете да използвате конструктор:

Игра game1 = нова игра("покéпн ГО", "Lorem ipsum dolor sit amet.", 50);

Или можете да присвоите стойности на отделни атрибути на структура, като използвате оператора точка (.):

Игра игра1;
game1.name = "покéпн ГО";
game1.description = "Lorem ipsum dolor sit amet.";
game1.levels = 50;

И двата подхода постигат един и същ резултат. Кодът по-горе използва C# за разработване на игрален обект, наречен Pokémon GO, който има кратко описание и 50 нива. И така, сега можете да използвате обекта game1.

Конзола.WriteLine(игра1.ToString());

Това отпечатва следния изход към конзолата:

Име: покémon GO, Описание: Lorem ipsum dolor sit amet., Нива: 50

Разликите между структура и клас

Структура и клас имат подобен външен вид, но имат много забележими разлики. Те използват различни ключови думи за деклариране. А структурите не поддържат нито нулеви препратки, нито наследяване.