PDA

View Full Version : سوال: تفاوت reference type ها با value type ها؟



علی خسروجردی
جمعه 03 خرداد 1387, 20:42 عصر
سلام. ببخشید من تازه وارد کار برنامه نویسی شده ام و مبتدی هستم و زبانی هم که شروع کردم #C است.
می خواستم بدونم که فرق بین Reference Type و Value Type چیه؟
اگه جوابشو یه خورده زود بگین ممنون میشم.

Mahdi.Kiani
جمعه 03 خرداد 1387, 21:22 عصر
Value Type ها موقع فرستاده شدن به یک متد، مقدار درون خود را درون آرگومان متد کپی می کنند. و هر گونه تغییر درون آرگومان های متد، هیچ گونه تغییری در داده اصلی نخواهد داشت.
اما Ref Type ها با نام خودشان که در واقع ارجاع به ان ها می باشد فرستاده می شوند. در نتیجه هر گونه تغییر درون متد، تاثیر بر روی داده اصلی خواهد گذاشت

Value Type ها درون حافظه Stack ذخیره می شودند ولی Ref ها درون Heap
و ...

مثال برای Value Type ها


int a = 5;
//now, "a" is equal to 5
Inc( a);
// now, "a" is equal to 5 too


/************/
void Inc(int a)
{
a++;
}

مثال برای Ref Type ها



int a = 5;
// now,"a" is equal to 5
Inc(ref a);
//now, "a" is equal to 6

/**********/
void Inc(ref int a)
{
a++;
}

جهت اطلاعات بیشتر Got To Google.com
موفق باشید