حالا می خوایم یک کلاس از جنس اعداد مختلط درست کنیم!
class Complex
{
{
public double real , img ;
}خب اولین چیزی که به ذهنتون می رسه اینه که الاف کردی ما رو؟!این که همون struct هست
خب واقعیتش اینه که این 2تا خیلی شبیه به هم هستن! ولی تفاوت های مهمی دارن
اولین تفاوتشون مربوط به سازنده ها هست! چون هنوز نگفتم سازنده ها رو توضیحی در موردش نمی دم
مورد بعدی اینه که وقتی که یک کلاس میسازیم از اعداد مختلط می توینم مقدار دهی اولیه اش بکنیم! ولی struct رو نمی تونیم!
مثلاً
class Complex
{
public double real = 0;
در مورد بالا مشکلی به وجود نمیاد!{
public double real = 0;
public double img;
}اما:
struct Complex
{
public double real = 0;
اینجا ما مشکل داریم : خطای زمان کامپایل{
public double real = 0;
public double img;
}خب! حتماً الان دارین می گین که وای وای چه تفاوت مهمی! ولی در واقع خیلی مهم تر از اونیه که به نظر میاد
یک جمله کلیدی:
ساختارها انواع مقداري هستند و مستقيماً مقدار را در خود نگه ميدارند و از اينرو در stack نگهداري ميشوند. استفاده از ساختارها همانند ساير انواع مقداري است.
( http://learn.hge.ir/?name=learn_csharp.net_12 )
خب! stack نمی دونی چیه؟! stack یه قسمت از حافظه هست! اگر اطلاعات بیشتری می خوای این بار خودت باید بری بگردی! و بفهمی که چی هست! چون استک مربوط به بحث های قبل میشه و بخوام برگردم توضیح بدم نمیشه دیگه! خودت برو پیدا کن! البته اگه واقعاً نیاز داشتی بگو تا بگم! البته بعداً در موردش حتماً توضیح می دم ولی بعداً کی هست نمی دونم!
Blogged with the Flock Browser
هیچ نظری موجود نیست:
ارسال یک نظر