PDA

View Full Version : تفاوت بین پارامترهای Formal و Reference



masooodj67
دوشنبه 16 بهمن 1391, 21:59 عصر
سلام دوستان من کتاب Illustrated c sharp 2012 رو دارم میخونم و در قسمتی هستم که داره در مورد تفاوت بین پارامترهای رسمی و مرجعی توضیح میده قسمت اولش رو میفهمم ولی مقداری از قسمت دومش رو خیر این مطلب رو می نویسم اگر تونستید کمکی بهم بکنید ممنون میشم-درخواست دیگم اینه یک توضیح کامل در مورد تفاوت آنها برام بدید.


the actual parameter must be a variable , and it must be assigned to before being used as the actual parameter.if it's a reference type variable ,it can be assigned either an actual reference or the value null

تا قسمت قرمز نگ میفهمم.

ordebehesht
دوشنبه 16 بهمن 1391, 22:58 عصر
این طوری که نمیشه حداقل پاراگراف رو بزار

plus
سه شنبه 17 بهمن 1391, 00:07 صبح
ببینید جدای از بحث پارامترها، متغیر ها یا Value Type هستن یا Reference Type.تایپ هایی مثل تایپ های اولیه مثل int, doube, float, DateTime و struct ها، Value Type هستن.تایپ های غیر از این ها، Reference Type هستن، مثل string ، class و ... .به متغیرهای Reference Type میشه مقدار null رو اختصاص داد و البته تفاوت های زیاد دیگه دارن...
حالا چیزی که توی بخش مشکی میگه اینه که وقتی پارامتر یک متد از نوع reference type هست، شما میتونی مقدار null رو بجاش بفرسی (به عنوان reference خالی). (ولی وقتی از نوع value type نمیشه null فرستاد و باید یک متغیر از همون نوع که مقدار داشته باشه به متد ارسال کرد.)

FastCode
سه شنبه 17 بهمن 1391, 01:36 صبح
ببینید جدای از بحث پارامترها، متغیر ها یا Value Type هستن یا Reference Type.تایپ هایی مثل تایپ های اولیه مثل int, doube, float, DateTime و struct ها، Value Type هستن.تایپ های غیر از این ها، Reference Type هستن، مثل string ، class و ... .به متغیرهای Reference Type میشه مقدار null رو اختصاص داد و البته تفاوت های زیاد دیگه دارن...
حالا چیزی که توی بخش مشکی میگه اینه که وقتی پارامتر یک متد از نوع reference type هست، شما میتونی مقدار null رو بجاش بفرسی (به عنوان reference خالی). (ولی وقتی از نوع value type نمیشه null فرستاد و باید یک متغیر از همون نوع که مقدار داشته باشه به متد ارسال کرد.)
string یک مقدار بحثش فرق داره.
اگر دوست داری میتون بیشتر راجع بهش بخونی
http://stackoverflow.com/questions/2365272/why-net-string-is-immutable (http://stackoverflow.com/questions/4274193/what-is-the-difference-between-a-mutable-and-immutable-string-in-c)

plus
سه شنبه 17 بهمن 1391, 17:42 عصر
string یک مقدار بحثش فرق داره.
اگر دوست داری میتون بیشتر راجع بهش بخونی
http://stackoverflow.com/questions/2365272/why-net-string-is-immutable (http://stackoverflow.com/questions/4274193/what-is-the-difference-between-a-mutable-and-immutable-string-in-c)
درسته...من خواستم خیلی خلاصه به دوستمون بگم و وارد جزئیات نشم.

FastCode
سه شنبه 17 بهمن 1391, 21:49 عصر
درسته...من خواستم خیلی خلاصه به دوستمون بگم و وارد جزئیات نشم.
نوشته شما درست بود.
درسته که در بعضی زبون های دیگه فرق میکنه.ولی در C# کاملاً درسته.