PDA

View Full Version : گفتگو: بررسی کلاس String در سی شارپ



alireza_tavakol
شنبه 03 مرداد 1388, 13:37 عصر
من توی مقاله ها و کتاب های مختلف که خوندم به نتایج زیر رسیدم به نظر شما همه این گزاره ها علمی و درسته ؟ :

1- string یک کلاس هستش و از نظر فنی نمیشه یک نوع داده Simple در نظر بگیریش مثل int,char,bool,...

2- اشیا که از کلاس ها نمونه سازی میشوند در گروه Reference types قرار دارند بر خلاف متغییر ها که در گروه Value Types قرار دارند .

3- متغییر های Reference types در حافظه heap ذخیره میشوند ، بر خلاف متغییر های Value Types که در stack ذخیره میشوند.

4- مقادیر متغییر های رشته ای در heap ذخیره میشوند و در واقع آدرس محل ذخیره شده در حافظه Stack نگه داری می شود.

5- علت ذخیره شدن مقادیر متغییر های Reference types در heap محدود بودن ظرفیت سگمنت داده و سگمنت پشته است ( 64KB ).

6- یکی از مزایای استفاده از حافظه heap تخصیص حافظه به صورت پویا می باشد.

7- یکی دیگر از مزایای استفاده از حافظه heap صرفه جویی در مصرف حافظه است به شکلی داده ها همیشه در یک مکان ذخیره می شوند ولی محال های مختلفی به آن ها ارجاع پیدا میکنیم.

8- یکی دیگر از مزایای افزایش سرعت اجرای برنامه است چون در هنگام انتقال داده های حجم (رشته های طولانی) بین متد های مختلف فقط آدرس ارجاع منتقل می شود و خود داده ها ارسال نمی گردد.

9- عملگر = در هنگام انتساب به صورت هوشمند نوع متغییر سمت راست خود را تشخیص داده و اگر Reference types باشد آدرس ارجاع را در متغییر سمت چپ قرار میدهد و در صورتی که متغییر سمت راست Value Types باشد مقدار ذخیره شده در متغییر را در متغییر سمت چپ قرار میدهد .

10-متغییر های Reference types می تواندد مقدار null بپذیرند ولی متغییر های Value Types نمی تواندد.

hozouri
چهارشنبه 07 مرداد 1388, 15:00 عصر
ببینید یکی از تفاوت های عمده داده های مقداری و ارجاعی اینه :

داده های مقداری به صورت LIFO از stack خارج میشن.
ولی داده های ارجاعی تا مدت های زیادی می تونن بر روی حافظه باشن و اولویتی برای حذف اون ها نیست.

این مطالبی که شما گفتید کاملاً درسته اما خیلی این ها مطالب جدیدی نیستند.

Mahdi.Kiani
چهارشنبه 07 مرداد 1388, 15:13 عصر
سلام دوستان
تجربه نشان داده که این مدل سوالات باعث بی نظمی و هرج و مرج در تالار میشه./
در هر مورد می توانید تاپیک جداگانه ایجاد کنید./
موفق باشید