نمایش نتایج 1 تا 3 از 3

نام تاپیک: متغییر Reference Type و Value Type چیست؟

  1. #1
    کاربر تازه وارد آواتار FingerPrint
    تاریخ عضویت
    تیر 1391
    محل زندگی
    ایران
    پست
    43

    متغییر Reference Type و Value Type چیست؟

    مهندسین عزیز یه سئوال بنیادین!

    1) اینکه دقیقا" Reference Type و Value Type به چه نوع متغییرهایی گفته می شود؟ دلیل نامگذاری
    2) متغییرهای زیر مجموعه این دو شاخه کدام هستند؟
    3) چه زمانی ، از کدام استفاده می کنیم؟

  2. #2
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: متغییر Reference Type و Value Type چیست؟

    به لینک آموزش سی شارپ که در امضام هست مراجعه کنید. در این مورد هم در PowerPoint و PDF ارائه شده، توضیحات کافی موجود هست

  3. #3
    مدیر بخش آواتار مهرداد صفا
    تاریخ عضویت
    تیر 1391
    محل زندگی
    select Country,City From World where Country.Name=IRAN and City.Contains(حضرت معصومه(ع))
    پست
    1,499

    نقل قول: متغییر Reference Type و Value Type چیست؟

    با سلام.
    1- referense type متغیرهایی هستند که (شبیه به اشاره گرها) آدرس شی مربوطه را نگهداری می کنند و نه مقداری واقعی آن را. به عملکرد نمونه ای از آنها دقت کنید:

    Form A, B;
    A = new Form() { Width = 800 };
    B = A;
    MessageBox.Show(B.Width.ToString());//800
    A.Width=200;
    MessageBox.Show(B.Width.ToString());//200

    در حالیکه value types مقدار شی را نگهداری می کنند:

    Point a, b;
    a=new Point(){X=10};
    b = a;
    MessageBox.Show(b.X.ToString());//10
    a.X = 5;
    MessageBox.Show(b.X.ToString());//10


    2- عمدتا متغیرهایی که نمونه هایی از یک کلاس را نگهداری میکنند referense type هستند و متغیرهایی که یک structure هستند value type قلمداد می شوند.

    3- مقادیر structure ها یا همان value types در stack نگهداری میشوند و عمدتا برای اشیایی با حجم کم و عمر کوتاه که نیازمند به دسترسی سریعترند مناسبترند در حالیکه referense type در heap نگهداری می شوند و برای اکثر اشیا حجیم و اشیایی که ماندگاری بیشتری در حافظه دارند مناسبترند. از طرفی (به عنوان مثالی از ضرورت کاربرد کلاس) فرض کنید شی پدر و شی مادر را که دارای خصوصیتی مشترک به نام فرزند هستند که طبیعاتا در صورت تغییر این خصوصیت در هر یک از اشیا فرضی پدر و مادر، خصوصیت فرزند در شی دیگر هم تغییر می کند. در این حالت خصوصیت فرزند می تواند دو referense type باشد که به یک مقدار اشاره می کند.
    چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست
    **********
    اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ

تاپیک های مشابه

  1. خطا Unable to create a constant value of type 'Anonymous type'. Only primitive types ('such as Int32
    نوشته شده توسط spicirmkh در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: چهارشنبه 07 تیر 1391, 17:55 عصر
  2. ساختار یک value type
    نوشته شده توسط mehdihadeli در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 31 شهریور 1389, 09:57 صبح
  3. سوال: تفاوت reference type ها با value type ها؟
    نوشته شده توسط علی خسروجردی در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 03 خرداد 1387, 21:22 عصر
  4. اضافه کردن یک Type جدید به Type Library یا OLE Automation Section
    نوشته شده توسط Hadizadeh در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 6
    آخرین پست: پنج شنبه 04 مرداد 1386, 09:08 صبح
  5. تفاوت Staticly Typed با Dynamicaly Typed
    نوشته شده توسط Amir Oveisi در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 08 اسفند 1385, 02:34 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •