Здравствуйте, 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 знаю- мне нужен более быстрый способ.
У меня примерно так:
public static byte[] Decode(uint[] l)
{
byte[] result = new byte[l.Length * 4];
for (int i = 0; i < l.Length; i++)
{
result[i * 4 + 0] = (byte)((l[i] >> 24) & 0xFF);
result[i * 4 + 1] = (byte)((l[i] >> 16) & 0xFF);
result[i * 4 + 2] = (byte)((l[i] >> 8) & 0xFF);
result[i * 4 + 3] = (byte)((l[i] >> 0) & 0xFF);
}
return result;
}
С уважением, Анатолий Попов.
ICQ: 995-908