تبلیغات
سی شارپ کده - تفاوت های بین Structure و Class در سی شارپ

سی شارپ کده

تفاوت های بین استراکچر و کلاس در سی شارپ

یکی از موضوعات گیج کننده برای کسایی که دارن تازه سی شارپ یاد میگیرن تفاوت استراکچر با کلاس هست و اینکه  کجا از کدامشان ( استراکچر ، کلاس ) استفاده شود بهتر است . امروز توو این پست یه جدول براتون آماده کردم، که میتونید تفاوت ها را مشاهده کنید :

Structure

Class

در سی شارپ یک استراکچر با لغت کلیدی struct تعریف میشود ، برای مثال :

Public struct stu { … }

در سی شارپ یک کلاس با لغت کلیدی class تعریف میشود ، برای مثال :

Public class stu { … }

یک استراکچر value type است و شیء بوجود آمده از آن در Stack ذخیره میشود .یک کلاس  reference typeاست و شیء بوجود آمده از آن در Heap ذخیره میشود .
یک استراکچر اصلا  نمیتواند ارث بری کندیک کلاس میتواند از کلاس یا استراکت دیگری ارث بری کند
یک استراکچر زمانی که از آرایه ها استفاده میشود مناسب تر است .یک کلاس زمانی که از collections ها استفاده میشود مناسب تر است .
در یک استراکچر نمیتوان به متغیرهای نمونه و عضو مقدار اولیه داد .در یک کلاس میتوان به متغیر های نمونه و عضو مقدار اولیه داد .
یک استراکچر نمیتواند دارای هرگونه سازنده ی بدون پارامتر یا یک سازنده پیشفرض که CLR فراهم کرده باشد. همچینین از destructor ها هم پشتیبانی نمیکند .یک کلاس میتواند دارای سازنده ی پیشفرض بدون پارامتر باشد که بوسلبه CLR فراهم شده و همچین destructor ها را پشتیبانی میکند .
یک استراکچر میتواند بدون کلمه کلیدی new ساخته شود ، برای مثال :

Stu test_obj ;

یک کلاس نمیتواند بدون کلمه کلیدی new شیء ایجاد کند . برای مثال :

stu test_obj = new stu(code_s,name_s);

منبع : وبلاگ برنامه نویسی با سی شارپ

نظرات() 
Can you grow taller with exercise?
دوشنبه 27 شهریور 1396 04:02 ق.ظ
Hi there! I simply want to give you a huge thumbs up for
your great info you have got right here on this post.
I will be returning to your blog for more soon.
Susie
سه شنبه 10 مرداد 1396 08:50 ب.ظ
Woah! I'm really enjoying the template/theme of this website.
It's simple, yet effective. A lot of times it's difficult to get that "perfect balance" between superb usability and visual
appeal. I must say you have done a fantastic job with
this. In addition, the blog loads very fast for me on Opera.
Superb Blog!
What is distraction osteogenesis?
سه شنبه 10 مرداد 1396 05:02 ق.ظ
Link exchange is nothing else except it is simply placing the other person's webpage link on your page at suitable place and other person will also
do same for you.
std clinics near me
دوشنبه 5 تیر 1396 12:44 ق.ظ
چلیپا از خود نوشتن در حالی که صدایی مناسب در آیا واقعا کار کاملا
با من پس از برخی از زمان. جایی
درون پاراگراف شما در واقع موفق به من مؤمن اما تنها برای بسیار در حالی که کوتاه.

من هنوز کردم مشکل خود را با
جهش در منطق و شما خواهد را خوب به پر همه کسانی شکاف.
در صورتی که شما در واقع که می توانید انجام من می قطعا بود تحت تاثیر قرار داد.
Martha
دوشنبه 25 اردیبهشت 1396 08:05 ق.ظ
If you are going for most excellent contents like I do, only
visit this web site all the time since it provides quality contents, thanks
manicure
یکشنبه 3 اردیبهشت 1396 11:32 ق.ظ
Excellent goods from you, man. I've understand your stuff previous
to and you're just extremely wonderful. I really like what you've acquired here,
certainly like what you are stating and the way in which you say it.
You make it enjoyable and you still take care of to keep it wise.
I can't wait to read far more from you. This is really a
tremendous web site.
BHW
جمعه 25 فروردین 1396 05:19 ب.ظ
This is a topic which is near to my heart...
Many thanks! Where are your contact details though?
ابوالفضل علی اکبری
یکشنبه 20 شهریور 1390 04:08 ب.ظ
سلام دوست عزیز لینکتو تایید کردم تو هم لینکمو تایید کن
با تشکر
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر

آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :