Найдено результатов: 1

Битовые поля в C#

У меня есть структура, которую мне нужно заполнить и записать на диск (на самом деле несколько).

Вот вам пример:

byte-6    
bit0 - original_or_copy  
bit1 - copyright  
bit2 - data_alignment_indicator  
bit3 - PES_priority  
bit4-bit5 - PES_scrambling control.  
bit6-bit7 - reserved  

В C я мог бы сделать что-то вроде следующего:

struct PESHeader  {
    unsigned reserved:2;
    unsigned scrambling_control:2;
    unsigned priority:1;
    unsigned data_alignment_indicator:1;
    unsigned copyright:1;
    unsigned original_or_copy:1;
};

Есть ли какой-либо способ сделать это в C#, который позволил бы мне получить доступ к битам с помощью оператора Dot разыменования структуры?

Для нескольких структур я могу просто сделать сдвиг битов, завернутый в функцию доступа.

У меня есть множество структур для обработки таким образом, поэтому я ищу что-то, что легче читать и быстрее писать.

c#   bit-fields    

707   11   22:10, 8th August, 2020