اذهب إلى المحتوى
  • 0

ما الفرق بين Constructors و الـ structures في C#

عبدالله الناصري

السؤال

السلام عليكم

في C#

الـ Constructors و structures لاحظت أنهما يقومان بنفس الأداء كذلك الـ Class جميعهم يقومون بنفس الأداء 

هل كلامي صحيح؟

لم أفهم ما الفرق بينهما ؟ ياليت توضيح للفرق الجوهري بينهما وشكرا

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

كلامك غير صحيح، ولا أعلم من اين اتيت بهذا الربط اخي الكريم.

Class, Struct هما تمثيل لبنية بيانات معينة والفرق بينهما ان Class هو Reference Type بمعنى ادق (بيانات يتم تخزينها في الذاكرة العشوائية Heap)، بينما Struct هو بينة بيانات ايضا لكنه Value Type بمعنى ادق (بيانات يتم تخزينها في الذاكرة السريعة او المحدودة Stack)

بينما Constructor هو دالة او ميثود رئيسية، يتم استدعائها عند انشاء Object جديد من Class او Struct

مثلا لو كان لدي كلاس Student، واردت عمل Object جديد

Student student = new Student();

Student هو الكلاس نفسه

;()Student هي استدعاء الـ Constructor الافتراضي ضمن كلاس Student

يمكن للكلاس ان يحوي على اكثر من شكل من اشكال Constructor لتهيئة البيانات بقيم معينة.

Student student = new Student("Ahmad", 20);

هناك بعض الاختلافات بين Constructors كل من Class, Struct ربما اهمها ان Struct لا يحتاج إلى Constructor بدون قيم كما في المثال. لكن المبدأ واحد.

 

بالتوفيق،،،

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 16 ساعات قال طارق جهاد:

كلامك غير صحيح، ولا أعلم من اين اتيت بهذا الربط اخي الكريم.

Class, Struct هما تمثيل لبنية بيانات معينة والفرق بينهما ان Class هو Reference Type بمعنى ادق (بيانات يتم تخزينها في الذاكرة العشوائية Heap)، بينما Struct هو بينة بيانات ايضا لكنه Value Type بمعنى ادق (بيانات يتم تخزينها في الذاكرة السريعة او المحدودة Stack)

بينما Constructor هو دالة او ميثود رئيسية، يتم استدعائها عند انشاء Object جديد من Class او Struct

مثلا لو كان لدي كلاس Student، واردت عمل Object جديد


Student student = new Student();

Student هو الكلاس نفسه

;()Student هي استدعاء الـ Constructor الافتراضي ضمن كلاس Student

يمكن للكلاس ان يحوي على اكثر من شكل من اشكال Constructor لتهيئة البيانات بقيم معينة.


Student student = new Student("Ahmad", 20);

هناك بعض الاختلافات بين Constructors كل من Class, Struct ربما اهمها ان Struct لا يحتاج إلى Constructor بدون قيم كما في المثال. لكن المبدأ واحد.

 

بالتوفيق،،،

جزاك الله كل خير 

تقديري لك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...