تفاوت Shallow and Deep Clone در سی شارپ
سوال
میشه لطفا تفاوت Shallow and Deep Clone در سی شارپ مختصر برام توضیح بدین.
حل شده
0
انجمن برنامه نویسان سی شارپ
5 سال
4 پاسخ ها
1068 دیده شده
0
پاسخ ها ( ۴ )
سلام
وقتی شما یک آبجکت رو بصورت Shallow کپی میکنید، در واقع شما رفرنس آبجکت موجود رو در آبجکت جدید قرار میدید.
اما وقتی ه آبجکتی رو بصورت Deep کپی میکنید، در واقع یک ناحیه جدید در حافظه allocate میشه و تمام مقادیر آبجکت قبلی در آبجکت جدید کپی میشود.
زمانی که شما یک آبجکت رو بصورت Shallow کپی میکنید، در واقع شما رفرنس آبجکت موجود رو در آبجکت جدید قرار میدید.(آبجکت جدید به ناحیه ای از قبل موجو در حافظه ارجاع داده میشه)
اما زمانی که آبجکتی رو بصورت Deep کپی میکنید، در واقع یک ناحیه جدید در حافظه allocate میشه(فضای جدید به آبچکت جدید تخصیص داده میشه) و تمام مقادیر آبجکت قبلی در آبجکت جدید کپی میشه.
سلام دوست عزیز، شما میتونی با دیدن دوره آموزش سی شارپ، پایه های برنامه نویسی خود را در این زبان قوی کنید و خیلی نکات ارزشمند همراه با کلی آموزش رایگان را مشاهده کنید.
در ادامه کامنت قبلی، در عکس زیر میتونید مفهوم و تفاوت این دو رو ببینید: