C# ما يعادل بايثون البنية.حزمة
-
10-07-2019 - |
سؤال
هل هناك مكتبة C# الذي يسمح وظائف مماثلة إلى بايثون struct
من المكتبة القياسية?
واحد يمكن أن تحاكي البنية المكتبة بشكل وثيق جدا مع ريال الانحياز البنيات.ولكن لم أجد حتى الآن أي طريقة التحكم مباشرة endianess في C#'s البنيات (C#'s البنيات يبدو أن تكون موجهة أكثر نحو COM إمكانية التشغيل المتداخل و أقل نحو للأغراض العامة ثنائي التعبئة).
المحلول
أقرب ما يعادلها من المحتمل أن يكون استخدام BinaryWriter
الكتابة في MemoryStream
, أو BitConverter
مرة واحدة تحويل قيمة واحدة إلى صفيف بايت.
إذا كنت ترغب في السيطرة على endianness من ذلك ، يمكنك استخدام EndianBinaryWriter/EndianBitConverter من MiscUtil.ميزة إضافية واحدة من بلدي EndianBitConverter
هو أنه يمكنك تحويل جزء محدد من القائمة مجموعة ، التي من شأنها أن تساعدك إذا أردت أن ميناء struct.pack
نفسك.