String intern pool memory

سوال

یه مفهومی در سی شارپ هست با عنوان String intern pool memory

یه سری چیزا راجبش میدونم. اما با این حال باز خوب برام جا نیفتاده. میشه توضیحش بدین.

 

ممنونم

حل شده 0
آزاد 1 سال 1 پاسخ 101 دیده شده 0

پاسخ ( ۱ )

  1. String intern pool memory یکی از مباحث شیرین و جذاب در دات نت هست. دقت بفرمایید، زمانی که در دات نت، چندین متغیر string تعریف میکنید و به هر دلیلی این متغیر ها ممکنه مقدار یکسان داشته باشند. مثال زیر رو در نظر بگیرید:

    در قطعه کد بالا دو متغیر تعریف شده و در ظاهر دو ناحیه از حافظه برای این متغیر ها در نظر گرفته شده. اما در واقع این طور نیست. واقعیت امر این هست که زمانی یک متغیر string جدید تعریف میشه، دات نت حافظه رو میگرده و اگر این چنین مقداری از قبل در حافظه موجود باشه پس متغیر جدید رو به همون ناحیه از حافظه رفرنس میده. اما اگر همچین مقداری در حافظه نباشه پس یک ناحیه از حافظه با اون مقدار رو برای متغیر در نظر میگیره.

    در مثال بالا متغیر های name و firstName هردو به یک ناحیه از حافظه اشاره دارند. به همین دلیل هست که وقتی شما کد زیر رو بنویسید:

    مقدار true را دریافت خواهید کرد. این یعنی اینکه برابر بودن دو متغیر از لحاظ رفرنس هست.

     

    این مفهوم String intern pool memory هست.

    اگر متوجه نشدید تا بیشتر توضیح بدم.

    آموزش سی شارپ

    بهترین پاسخ

ارسال یک پاسخ