بيت تطوير ما هو sizeof المشغل؟ - تعريف من techopedia

ما هو sizeof المشغل؟ - تعريف من techopedia

جدول المحتويات:

Anonim

تعريف - ماذا يعني Sizeof Operator؟

Sizeof عامل التشغيل ، في C # ، هو عامل يستخدم لتحديد حجم (بالبايت) من نوع غير مدار ليس نوع مرجع.

أثناء تطوير التطبيقات التي تتضمن تخصيص ذاكرة ديناميكي ، من الشائع جدًا العثور على الذاكرة المخصصة لنوع معين. من غير الآمن للغاية افتراض حجم نوع ما واستخدام القيمة ذات الترميز الثابت في التطبيق ، لأن هذا قد يقطع التطبيق عند نقله إلى أنظمة مختلفة. يتم استخدام عامل التشغيل sizeof في مثل هذه الحالات للعثور على حجم نوع البيانات المركبة مثل البنية. ومع ذلك ، لا يمكن استخدامه إلا لحساب حجم البايت لأنواع القيم وليس لأنواع المراجع بسبب نظام تخطيط النوع الظاهري لإطار عمل .NET.

يساعد مشغل sizeof في تخصيص الذاكرة لهياكل البيانات التي يتم تمريرها من التطبيق المدار إلى تعليمات برمجية غير مُدارة مثل Interop ، والتسلسل المخصص ، إلخ. في متغير مؤشر بقيمة تساوي عدد وحدات البايت التي يشغلها نوع المؤشر. المشغل sizeof يساعد على تحسين قراءة التعليمات البرمجية.

تيكوبيديا تشرح Sizeof المشغل

المشغل sizeof هو المشغل الأحادي الذي يأخذ معلمة singe ويستخدم مع الكلمة "sizeof". على عكس C ++ ، فإن المشغل sizeof عبارة عن بنية وقت تجميع ، لذلك يجب أن تكون المعلمة من النوع المغلق المعروف أثناء التحويل البرمجي ، وليس المتغيرات. يمكن أن تكون المعلمة أيضًا تعدادًا أو مؤشرًا أو بنية معرفة من قبل المستخدم دون أي خصائص نوع الحقل أو المرجع. بالنسبة لأنواع محددة مسبقًا ، يُرجع المشغل sizeof قيمة ثابتة ، بينما يؤدي استخدامه مع الأنواع المتبقية إلى قيم تستند إلى التنفيذ.

على سبيل المثال ، عندما يتم تنفيذ مشغل sizeof باستخدام عدد صحيح (int) كمعلمة ، فإنه يُرجع دائمًا الرقم أربعة للإشارة إلى أن متغير نوع عدد صحيح يشغل أربعة بايت من الذاكرة.

عندما يتم تطبيق عامل التشغيل sizeof على معامل نوع الهيكل ، فإنه يجلب إجمالي عدد البايتات التي تشغلها البنية ، والتي تتضمن بايتات الحشو المستخدمة في المحاذاة داخليًا. تتضمن الإرشادات التي يجب اتباعها أثناء استخدام عامل sizeof مع البنية:
  • يجب أن يسمى داخل كتلة غير آمنة
  • يجب ألا يحتوي متغير الهيكل على عضو من نوع المرجع
  • يجب ألا يكون الهيكل نوع قيمة عامة
تمت كتابة هذا التعريف في سياق C #
ما هو sizeof المشغل؟ - تعريف من techopedia