سؤال

كيف يمكنني تحويل int إلى بايت* في فهرس معين في بايت*؟

من الناحية المثالية، أود الحصول على شيء مثل:

unsafe{
    byte* igm=stackalloc byte[8];
    igm[4]=4283;
}

سيؤدي ذلك إلى تعيين الجزء الأول من البت إلى igm[4] والباقي إلى igm[5].

يحرر:أدرك أنه قد يكون هناك الكثير من الطرق الممكنة للتعامل مع هذا الأمر، وأنا أبحث عن الطريقة الأكثر فعالية إن أمكن.

هل كانت مفيدة؟

المحلول

جرب هذا:

giveacodicetagpre.

بمجرد إدراك أنه يمكنك استخدام حساب مؤشر بسيط إلى الفهرس في أي مكان في صفيف البايت الخاص بك، تحصل الأمور أسهل بكثير.

نصائح أخرى

نظام النوع في C # سوف يمنعك من القيام بذلك، كما قد لاحظت.ومع ذلك، يمكنك إلقاء مؤشراتك على أن تكون أنواع التباين:

giveacodicetagpre.

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

سيكون هذا أكثر أمانًا لأنك ستعرف ماذا وأين تضع بياناتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top