Ahmed Yehia2 نشر 10 مارس 2022 أرسل تقرير نشر 10 مارس 2022 لماذا يفضل استخدام class بدل struct مع البيانات كبيرة الحجم لغة c# 1 اقتباس
1 شرف الدين حفني نشر 10 مارس 2022 أرسل تقرير نشر 10 مارس 2022 هذا لأن class من النوع reference type بينما struct من النوع value type ما الفرق بينهما؟ لنفهم الفرق نحتاج أولًا أن نفهم أنه يوجد ما يُسمى بالstack memory وال heap memory , الstack memory تمتلك مساحة أقل ولكنها أسرع في الوصول, بينما الheap memory تمتلك مساحة أكبر ولكن أبطأ في الوصول الstruct بما أنه value type لذا يتم تخزينه في الstack, فيتم الوصول إليه بشكلٍ سريع, ولكن إن كان حجمه كبير سيتسبب ذلك بمشاكل لأن مساحة الstack محدودة وبالتالي قد يتسبب ذلك في خطأ يُسمى stack over flow يحدث عندما يتم ملأ الstack بينما الclass بما أنه من النوع reference type فلا يتم تخزينه في الstack وإنما يتم تخزينه في الheap ويتم تخزين عنوانه في الstack وذلك العنوان يكون مساحته صغيرة نسبيًا 4bytes , لذا يُفضل تخزين البيانات كبير الحجم في الclass حتى لا يتسبب ذلك بمشكلة stack over flow 2 اقتباس
السؤال
Ahmed Yehia2
لماذا يفضل استخدام class بدل struct مع البيانات كبيرة الحجم لغة c#
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.