Вы можете использовать BitConverter
для преобразования данных в байтовые массивы и из них. К сожалению, нет возможности скопировать в существующий массив. Моя собственная EndianBitConverter
в моей библиотеке MiscUtil позволяет это, если вам это нужно, а также позволяет указывать порядковый номер для использования, конечно. (BitConverter
обычно является прямым порядком байтов в .NET - вы можете проверить его с помощью поля IsLittleEndian
.)
Например:
EndianBitConverter converter = EndianBitConverter.Little;
converter.CopyBytes((short) 0xc, packetBuffer, 0);
converter.CopyBytes((int) 0x5000, packetBuffer, 2);
converter.CopyBytes(dwArgs[13], packetBuffer, 6);
и т.д.. Приведение к int
во втором вызове CopyBytes
является избыточным, но включено для ясности (с учетом предыдущей строки!).
РЕДАКТИРОВАТЬ: Другая альтернатива, если вы предпочитаете использовать стандартные библиотеки .NET, вы можете использовать BinaryWriter
с MemoryStream
.