آموزش استفاده از ساختارها (Structures) در سی شارپ (C#)
ساختارهای (Structures) سی شارپ (C#) مانند یک جایگزین سبک، اما قدرتمند برای کلاس ها هستند. در این مقاله نحوه استفاده از این نوع داده مفید را میتوانید بیاموزید.
در سی شارپ، دو نوع اصلی عبارتند از انواع value (مانند ساختارها)، و انواع reference (مانند کلاس). از آنجا که یک ساختار (structure) یک نوع value است، داده محور است.
یک ساختار میتواند ویژگیها و روشهای مرتبط را ذخیره کند که ترجیحاً بر رفتار تمرکز ندارند.
فهرست مطالب
چگونه یک ساختار را معرفی کنیم؟
هر ساختار باید دارای کلمه کلیدی struct باشد. قبل از کلمه کلیدی struct با یک تعیین کننده سطح دسترسی (access modifier) قرار دهید و بعد از آن یک نام و یک {} (دو ابرو) اضافه کنید. در اینجا نحوه معرفی ساختاری به نام Game آورده شده است:
public struct Game {}
نحوه پر کردن بدنه یک ساختار (struct)
public struct Game
{
public string name;
public string description;
public int levels;
public Game (string name, string description, int levels) {
this.name = name;
this.description = description;
this.levels = levels;
}
public override string ToString() => $"Name: {name}, Description: {description}, Levels: {levels}";
}
ساختار Game اکنون دارای سه attributes است، یک constructor و یک method. اینها سه جزء اصلی یک struct در C# هستند که سه جزء اصلی class در C# نیز هستند.
چگونه یک ساختار متغییر (Struct Variable) ایجاد کنیم؟
هر نمونه از ساختار C# به عنوان یک متغیر شناخته می شود. دو راه برای ایجاد یک متغیر از یک ساختار وجود دارد. می توانید از constructor استفاده کنید:
Game game1 = new Game("Pokémon GO", "Lorem ipsum dolor sit amet.", 50);
یا می توانید با استفاده از عملگر نقطه (.) مقادیری را به ویژگی های جداگانه یک ساختار اختصاص دهید:
Game game1;
game1.name = "Pokémon GO";
game1.description = "Lorem ipsum dolor sit amet.";
game1.levels = 50;
هر دو روش به یک نتیجه می رسند. کد بالا از سی شارپ برای توسعه یک موضوع در بازی به نام Pokémon GO استفاده می کند که دارای توضیحات مختصر و 50 سطح است. بنابراین، اکنون می توانید از game1 استفاده کنید.
Console.WriteLine(game1.ToString());
دستور بالا خروجی زیر را در کنسول به نمایش در می آورد:
Name: Pokémon GO, Description: Lorem ipsum dolor sit amet., Levels: 50
تفاوت بین یک ساختار (struct) و یک کلاس (class)
یک ساختار و یک کلاس ظاهری مشابه دارند، اما تفاوت های قابل توجه زیادی دارند. آنها از کلمات کلیدی مختلفی برای تعریف شده استفاده می کنند. و ساختارها نه null references و نه inheritance را پشتیبانی نمی کنند.
نظرات کاربران