كيفية تعيين int إلى بايت * C#
-
13-09-2020 - |
سؤال
كيف يمكنني تحويل int إلى بايت* في فهرس معين في بايت*؟
من الناحية المثالية، أود الحصول على شيء مثل:
unsafe{
byte* igm=stackalloc byte[8];
igm[4]=4283;
}
سيؤدي ذلك إلى تعيين الجزء الأول من البت إلى igm[4] والباقي إلى igm[5].
يحرر:أدرك أنه قد يكون هناك الكثير من الطرق الممكنة للتعامل مع هذا الأمر، وأنا أبحث عن الطريقة الأكثر فعالية إن أمكن.
المحلول
جرب هذا:
giveacodicetagpre.بمجرد إدراك أنه يمكنك استخدام حساب مؤشر بسيط إلى الفهرس في أي مكان في صفيف البايت الخاص بك، تحصل الأمور أسهل بكثير.
نصائح أخرى
نظام النوع في C # سوف يمنعك من القيام بذلك، كما قد لاحظت.ومع ذلك، يمكنك إلقاء مؤشراتك على أن تكون أنواع التباين:
giveacodicetagpre.تحتاج إلى اقتحام الخاص بك sizeof(int)
عدد البايتات ثم قم بتعيين هذه الأجزاء يدويًا على البايت الخاص بك * في الفهارس المحددة.
سيكون هذا أكثر أمانًا لأنك ستعرف ماذا وأين تضع بياناتك.
لا تنتمي إلى StackOverflow