В C # есть опция для выполнения кода без проверки. Как правило, делать это не рекомендуется, так как управляемый код намного безопаснее и преодолевает множество проблем.
Однако мне интересно, если вы уверены, что ваш код не вызовет ошибок, и вы знаете, как обращаться с памятью, то почему (если вам нравится быстрый код) следуйте общим советам?
Мне это интересно, так как я написал программу для видеокамеры, которая требовала очень быстрой манипуляции с растровым изображением. Я сам сделал несколько быстрых графических алгоритмов, и они отлично работают на растровых изображениях с использованием неуправляемого кода.
Теперь мне вообще интересно, если вы уверены, что у вас нет утечек памяти или рисков сбоев, почему бы не использовать неуправляемый код чаще?
PS мой опыт: я вроде как попал в этот мир программирования, и я работаю один (я делаю это в течение нескольких лет), и поэтому я надеюсь, что этот вопрос разработки программного обеспечения не так уж странен. У меня действительно нет других людей, таких как учитель, чтобы спрашивать такие вещи.
unsafe
пример использования: stackoverflow.com/q/11660127/102937
unsafe
означает «знай, что ты делаешь, и сравнивай выгоды с рисками». Я использовалunsafe
несколько раз, и это всегда было что-то очень специфическое, связанное с производительностью, которое можно было огородить своим собственным методом. Я не использую его как общую технику программирования, поскольку в большинстве случаев дополнительное преимущество в производительности не стоит потери безопасности.