سؤال

هل هناك مكتبة C# الذي يسمح وظائف مماثلة إلى بايثون struct من المكتبة القياسية?

واحد يمكن أن تحاكي البنية المكتبة بشكل وثيق جدا مع ريال الانحياز البنيات.ولكن لم أجد حتى الآن أي طريقة التحكم مباشرة endianess في C#'s البنيات (C#'s البنيات يبدو أن تكون موجهة أكثر نحو COM إمكانية التشغيل المتداخل و أقل نحو للأغراض العامة ثنائي التعبئة).

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

المحلول

أقرب ما يعادلها من المحتمل أن يكون استخدام BinaryWriter الكتابة في MemoryStream, أو BitConverter مرة واحدة تحويل قيمة واحدة إلى صفيف بايت.

إذا كنت ترغب في السيطرة على endianness من ذلك ، يمكنك استخدام EndianBinaryWriter/EndianBitConverter من MiscUtil.ميزة إضافية واحدة من بلدي EndianBitConverter هو أنه يمكنك تحويل جزء محدد من القائمة مجموعة ، التي من شأنها أن تساعدك إذا أردت أن ميناء struct.pack نفسك.

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