Здравствуйте, Aen Sidhe, Вы писали:
AS>Здравствуйте, MScanner, Вы писали:
MS>>В С++ можно было так
MS>>MS>>char * p;
MS>>DWORD dw;
MS>>DWORD dwIndex;
MS>>*((DWORD*)p+dwIndex)=dw;
MS>>
MS>>Как можно сделать подобное в C# а иммено интересует, например, как получить доступ к третьему байту переменной типа int (чтение и запись).
MS>>Про использование в решении этой задачи MemoryStream BinaryReader/Writer знаю- мне нужен более быстрый способ.
AS>У меня примерно так:
AS>AS> public static byte[] Decode(uint[] l)
AS> {
AS> byte[] result = new byte[l.Length * 4];
AS> for (int i = 0; i < l.Length; i++)
AS> {
AS> result[i * 4 + 0] = (byte)((l[i] >> 24) & 0xFF);
AS> result[i * 4 + 1] = (byte)((l[i] >> 16) & 0xFF);
AS> result[i * 4 + 2] = (byte)((l[i] >> 8) & 0xFF);
AS> result[i * 4 + 3] = (byte)((l[i] >> 0) & 0xFF);
AS> }
AS> return result;
AS> }
AS>
Спасибо, совсем забыл про лог. операции