Existe uma opção no C # para executar o código desmarcado. Geralmente, não é aconselhável fazer isso, pois o código gerenciado é muito mais seguro e supera muitos problemas.
No entanto, pergunto-me, se você tem certeza de que seu código não causará erros e sabe como lidar com a memória, por que (se você gosta de código rápido) segue as orientações gerais?
Estou pensando isso desde que escrevi um programa para uma câmera de vídeo, que exigiu alguma manipulação extremamente rápida de bitmap. Eu mesmo fiz alguns algoritmos gráficos rápidos, e eles funcionam excelente nos bitmaps usando código não gerenciado.
Agora, em geral, imagino que, se você tem certeza de que não possui vazamentos de memória ou riscos de falhas, por que não usar código não gerenciado com mais frequência?
PS: meu histórico: meio que entrei nesse mundo da programação e trabalho sozinho (faço isso por alguns anos) e espero que essa questão de design de software não seja tão estranha. Eu realmente não tenho outras pessoas por aí como um professor para perguntar essas coisas.
unsafe
exemplo de caso de uso: stackoverflow.com/q/11660127/102937
unsafe
significa "saber o que você está fazendo e pesar os benefícios contra os riscos". Eu useiunsafe
algumas vezes, e sempre foi para algo muito específico relacionado ao desempenho que poderia ser isolado em seu próprio método. Não o uso como uma técnica de programação geral, pois na maioria das vezes o benefício adicional de desempenho não vale a perda de segurança.