مشاهده نسخه کامل
: چرا string یک refrence type است؟
درووووووود .. چرا string در سی شارپ جزو نوع ارجاعی ها یا همان refrence type هست؟
بسم الله الرحمن الرحیم
سلام.
چون string ها آرایه ای از char هستند و آرایه ها هم خودشون از نوع کلاس هستند.:n11:
دروود چرا در سی شارپ آرایه ها رو از نوع کلاس ساختند تا مجبور شویم یک شی از آن ایجاد کنیم ؟ مگر در سی و سی پلاس پلاس که آرایه ها از کلاس نیستند چه مشکلی پیش میامد؟
بسم الله الرحمن الرحیم
سلام.
چون کمتر کسی میاد همچین کاری که شما میخواهید انجام بدید رو انجام میده.هدف اصلی مدیریت سریعتر حافظه هست.فکرشو بکن طرف اصلاً نیازی نداره از آرایه ای که به متد ارسال میکنه اشاره گر جدید بسازه چون چیزی که مد نظر و مهم هست آیتم های داخلش هست.و اکثر برنامه نویس ها وقتی آرایه ای رو به متد ارسال میکنن خیلی کم پیش میاد آرایه رو بخوان تغییر بدن یا new کنن اینکار تقریباً به 1 درصد میرسه:n02:.چون کار بی خودی هست.یکم فکر کنید مثلاً من چه نیازی دارم که یک اشاره گر جدید از یک آرایه بسازم و توی خودش بریزم در صورتی که آیتم های داخلش همون اشاره گر های قدیمی هستن؟ چه مزیتی برای من و برنامه داره؟
اگر سی پلاس پلاس اینکاری رو که شما میگید میکنه واقعاً باید درش رو تخته کرد:n13:.
البته نکته قابل توجه در مورد string ها اینه که اونها درسته که کلاس هستند اما وقتی داخل متد میرن مثل یک struct عمل میکنن یعنی string هم مثل int و ... وقتی داخل متد میرن new میشند.این موارد رو توی عملگر ها و نوع مقدار دهی خود کلاس ها میشه طراحی کرد.
موفق و پیروز باشید در پناه حق:n16:.
این تاپیک ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])برای شما مفید خواهد بود.
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.