ساختاریا struct در سی شارپ
struct برای بهتر نظم بخشیدن در برنامه است . مسلما چیزی نیست که بگیم بدون وجود این برنامه نویس کارش لنگ می شه اما وجودش خیلی عالیه
برنامه ی زیر را در نظر بگیرید که به صورت معمولی نوشته شده است .
static void Main(string[] args)
{
int code;
string name, lastname;
code = 111;
name = "ali";
lastname = "olian";
Console.Write(code + " : " + name + "\t" + lastname);
Console.ReadKey();
}
حالا برنامه زیر را ببینید که با struct نوشته شده است .
struct Student
{
public int code;
public string name;
public string lastname;
}
static void Main(string[] args)
{
Student st;
st.code = 111;
st.name = "ali";
st.lastname = "olian";
Console.Write(st.code+" : "+st.name+"\t"+st.lastname);
Console.ReadKey();
}
در نگاه اول حق با شماست دردسر برنامه ی اول خیلی کمتره اما اگر قصد داشته باشیم پروژه های سنگینی را بنویسیم اون موقع است که حق با سازنده struct است ، مثل گرهی می مونه که خیلی راحت باز میشه و برنامه از نظم بسیار بالایی برخورداره و اگر قرار شد تا قسمتی را اصلاح کنیم خیلی سریع بتونیم خط کد مربوط به اون را پیدا کنیم .
اما استراکت به چه صورت نوشته می شود
استراکت در خارج از تابع اصلی نوشته می شود ابتدا struct را می نویسیم سپس نامی برای آن تعیین می کنیم که در اینجا ما نام student را برای آن برگزیدیم . در بدنه ی استراکت حتما متغییر های که تعریف می کنیم باید از نوع public باشد تا بتوانیم در سایر توابع از جمله تابع اصلی به آن دسترسی داشته باشیم .
در تابعی که قصد استفاده از آن را داریم ابتدا باید استراکت را تعریف کنیم در برنامه ی بالا اگر دقت کنید نوشته شده است student st در حقیقت student مثل نوع داده عمل می کنه
قبلا ما نوع داده int داشتیم که به صورت int a متغییر ها را تعریف می کردیم
برای struct ها نیز به همین صورت متغییرهایشان تعریف می شود در student st کلمه ی student نوع داده و st متغیر آن می باشد . که می تواند شامل مواردی که برایش تعریف کرده ایم باشد . مواردی که برای st در دسترس است code و name و lastname می باشد .