Re: Байтовый доступ к int C#
От: Aen Sidhe Россия Просто блог
Дата: 29.08.09 13:51
Оценка: 3 (1)
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.