PDA

View Full Version : تعریف متغیر ها کجا و چرا؟



میلاد قاضی پور
جمعه 14 خرداد 1389, 15:53 عصر
سلام . من میخوام بدونم چه تفاوتی "از لحاظ حافظه مصرفی" بین اینکه تعریف یه متغیر یا نمونه گیری از یه کلاس ، در درون تابع انجام بشه یا در قسمت شروع کلاس . و آیا بهتر هست در قسمت اینیشیالایز کامپوننتز مقدار دهی اولیه بشه یا در جایی که قراره استفاده بشن ؟

L u k e
جمعه 14 خرداد 1389, 21:08 عصر
خوابش سادست
شما وقتی که به یه متغیر توی Intialize مقدار بدی یا توی General اون متغیر از اون اولی که کلاس رو تعریف می کنید مقدار دهی می شه و فضا می گیره
ولی اگه متغیرهایی رو که توی یه تابع مقدار بدید همون وقتی که تابع صدا زده می شه اونم مقدار دهی می شه
ولی باز بستگی به متغیر داره اگه از اون اول لازمه مقدار دهی بشه که بشه و اگر نه توی تابع خودش بهش مقدار بدین
در ضمن زیاد وقتتونو صرف این کارا نکنید CPU های امروزی بادی نیستن که با این بیدا بلرزن

میلاد قاضی پور
جمعه 14 خرداد 1389, 22:49 عصر
خب اگر توی تابع تعریف شده باشه مگه تا زمانی که null نکردیم توی حافظه باقی نمیمونه ؟
من قبلا یه برنامه داشتم که وقتی روی یه باتون کلیک میکردم دو سه بار اول خوب کار میکرد ولی رفته رفته با کلیک بیشتر رم و سی پی یو جیغ میزدن و برنامه فریز میشد.

L u k e
جمعه 14 خرداد 1389, 23:40 عصر
از توی تابع منظورتم تعریف نبود مقدارشو اونجا می دی شاید به متغیر جاهای دیگه نیاز داشته باشی
اره ولی قبل از استفاده از تابع و بعدش دیگه اون متغیر خالیه و فضا اشغال نمی کنه
خوب باید دید توش چی نوشته دیگه

میلاد قاضی پور
شنبه 15 خرداد 1389, 00:36 صبح
و یه مسأله مهم برای من اینه که آیا باید وقتی یک شی ایجاد میکنیم مثلا فرم . باید بنویسیم:



Form1 f1=new Form1();


یا باید :



f1=new Form1();


رو داخل سازنده مقدار دهی کنیم ؟

DEVIL_BOY
شنبه 15 خرداد 1389, 00:57 صبح
و یه مسأله مهم برای من اینه که آیا باید وقتی یک شی ایجاد میکنیم مثلا فرم . باید بنویسیم:



Form1 f1=new Form1();


یا باید :



f1=new Form1();


رو داخل سازنده مقدار دهی کنیم ؟




ببخشید قبل از تعریف متغییر چطور میخواد این کد
[LEFT]

f1=new Form1();

اجرا کنی

میلاد قاضی پور
شنبه 15 خرداد 1389, 01:11 صبح
با فرض تعریف شدنش در ابتدای کلاس عرض کردم .