PDA

View Full Version : سوال: مقادیر defult برای type ها



mehdihadeli
جمعه 12 شهریور 1389, 16:14 عصر
refrence type ها هم مثل value type ها با مقدار defult مقدار دهی میشوند؟

تو این کد یه خروجی چاپ میکنه


namespace ConsoleApplication9
{
class Program
{
static Program p()
{
return new Program();
}

static void Main(string[] args)
{
Console.Write(p());
Console.ReadKey();
}
}
}

Sajjad.Aghapour
جمعه 12 شهریور 1389, 21:45 عصر
بله.Reference Types با null مقداردهی میشوند...

این قطعه کد شما هم Type اصلی خروحی یعنی Program را چاپ خواهد کرد

#aliyari_C
جمعه 12 شهریور 1389, 22:08 عصر
ُسلام
اگر سوالت رو این جور بپرسی درسته
value type ها هم مثل refrence type ها با مقدار defult مقدار دهی میشوند؟
جواب
تعریف: همه کلاس های C# دارای سازنده پیش فرض هستند که ممکن است شما آن را اگر لازم باشد از نو تعریف کنید. زمانی که از کلمه کلیدی new برای ساختن شئی از کلاس استفاده می شود با کمک سازنده پیش فرش همه متغیر های عضو با مقدار پیش فرض نوع , خود مقدار می گیرند.


bool b= new boll();//set to false.
int i =new int();//set to 0.
DateTime dt=new Datetime();//set to 1/1/0001 12:00:00 Am

ولی در مورد value type داستان چیزه دیگری است. آنها نمی توانند مقدار نگیرند , چون CLR نمی گذارد


int i;
messageBox.Show(i.ToString());

خطا
اگر نامفهوم بود بگو (یا اگر منظور چیزه دیگری است......)
موفق و تندرست باشی