У тебя размер структуры должен быть известен в компайл тайме, иначе только руками
понял, просто данную структуру хотел сделать, как универсальный объект для первично обработки байтов. у неё часть свойств точно будет фиксированной длины, а оставшиеся динамическая. спасибо большое, буду тогда кастомное решение реализовывать
Привет! Основной нюанс в том, что ты хочешь положить данные в динамический массив byte[], в итоге вся структура у тебя выходит не плоская, если размещать данные последовательно. Вариантов у тебя несколько: - можно оставить как есть, вручную аллоцируя и копируя остаток - можно объявить fixed buffer / inline array поле, при условии что ты знаешь максимальный размер и тебя устроит, что возможно будет большой padding на данных, так как структура будет всегда макс размера Посмотри в сторону MemoryMarshal - это более современные варианты преобразования представления в памяти
Я вот смотрю на структуру и не понимаю, где передается длинна массива?
для данной структуры не устанавливал длину, чтобы посмотреть что будет, а он по умолчанию берет следующий один байт и всё. а так да, где всё фиксированно указал длину. скрин пример:
Обсуждают сегодня