Ahmed Yehia2 نشر 27 يناير 2022 أرسل تقرير نشر 27 يناير 2022 (معدل) ما الفرق بين struct و class و record ف c# تم التعديل في 27 يناير 2022 بواسطة شرف الدين2 توضيح العنوان 1 اقتباس
0 شرف الدين حفني نشر 27 يناير 2022 أرسل تقرير نشر 27 يناير 2022 يمكن تلخيص الفروق بينهم كالتالي الstruct هو من نوع value-type بمعنى أنه لا يتم تخزينه ك reference مثل الclass ولكنه لا يمكن أن يمتلك constructor فارغ أو أن تكون أبًا لclass أخر, ويمكن إستخدامها بدون إستخدام كلمة new class هو من النوع reference type record يمتاز بأنه لا يمكن تغيير قيمة الخصائص بداخله إذًا ماذا تستخدم؟ عندما تريد أن تستخدم هيكل لتخزين بياناتك بداخله يجب أن تسأل الأسئلة التالية حتى تستطيع الإختيار بشكلٍ صحيح هل البيانات التي أريد أن أمثلها , بشكلٍ منطقي هي تمثل قيمة؟ على سبيل المثال كالشفرة المُرفقة بالأدنى struct Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } } في ذلك المثال نريد أن نُمثل نقطة, فلا داعي أن ننشئ لها صنف بل من الممكن أن نمثلها بstruct لأن في النهاية هي تُمثل قيمة واحدة حتى ولو كانت مُكونة من قيم أخرى هل مساحة البيانات أقل من 16 بايت؟ هل البيانات في أغلب الوقت لن يتم تغييرها؟ إن كانت الإجابة على الأسئلة السابقة نعم فإذًا إستخدم struct عدا ذلك قم بالإجابة على الأسئلة التالية هل الهيكل الذي تريده سيقوم بإحتواء مجموعة من البيانات المعقدة ولكن لا يُمثل شئ مميز بذاته؟ هل البيانات التي بداخل الهيكل لن نحتاج إلى تغييرها في المستقبل إن كانت الإجابة نعم يكون الإختيار record عدا ذلك يكون class اقتباس
السؤال
Ahmed Yehia2
ما الفرق بين struct و class و record ف c#
تم التعديل في بواسطة شرف الدين2توضيح العنوان
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.