Re[2]: Байтовый доступ к int C#
От: MScanner  
Дата: 29.08.09 18:00
Оценка:
Здравствуйте, 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>


Спасибо, совсем забыл про лог. операции
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.