2011-02-03 7 views

ответ

3

Там нет зацикливания здесь. Вы можете использовать BitConverter.GetBytes вместо небезопасного типа.

byte[] InputBuffer = BitConverter.GetBytes(value); 

заменяет все шесть исходных строк кода.

+0

Действительно. Ответ на другой вопрос представляется намеренно непрозрачным и показательным. Вызов «битконвертера» гораздо читабельнее и, вероятно, имеет * дополнительную стоимость производительности по сравнению с небезопасным кодом (особенно когда он берется в контексте всех криптографических данных, которые происходят в ответе на другой вопрос). – LukeH

+1

@ LukeH: «BitConverter», вероятно, выполняет функцию пуна, но поскольку он находится в сборке, подписанной Microsoft, ее можно использовать во всех сценариях частичного доверия, вызывающий остается поддающимся проверке и после вложения в JIT, d ожидайте, что машинный код будет точно таким же. Подчинение системы типов в данном конкретном случае не имеет каких-либо защитных последствий, потому что «битконвертер» требует, чтобы входы и выходы были примитивными числовыми типами. –