W C # jest opcja wykonania niezaznaczonego kodu. Zasadniczo nie jest to zalecane, ponieważ zarządzany kod jest znacznie bezpieczniejszy i pozwala przezwyciężyć wiele problemów.
Zastanawiam się jednak, jeśli masz pewność, że Twój kod nie spowoduje błędów, a wiesz, jak obsługiwać pamięć, to dlaczego (jeśli lubisz szybki kod) postępować zgodnie z ogólną radą?
Zastanawiam się nad tym, ponieważ napisałem program do kamery wideo, który wymagał bardzo szybkiej manipulacji bitmapą. Sam stworzyłem szybkie algorytmy graficzne, które doskonale działają na mapach bitowych przy użyciu niezarządzanego kodu.
Teraz ogólnie zastanawiam się, czy jeśli jesteś pewien, że nie masz wycieków pamięci lub ryzyka awarii, dlaczego nie częściej używać niezarządzanego kodu?
PS moje tło: W pewnym sensie wkroczyłem w ten świat programowania i pracuję sam (robię to przez kilka lat), więc mam nadzieję, że to pytanie dotyczące projektowania oprogramowania nie jest takie dziwne. Naprawdę nie mam innych ludzi takich jak nauczyciel, którzy mogliby zadawać takie pytania.
unsafe
przykład użycia: stackoverflow.com/q/11660127/102937
unsafe
oznacza „wiedzieć, co robisz, i porównać korzyści z ryzykiem”. Użyłemunsafe
kilka razy i zawsze dotyczyło to czegoś bardzo specyficznego związanego z wydajnością, które można odgrodzić własną metodą. Nie używam go jako ogólnej techniki programowania, ponieważ przez większość czasu dodatkowa korzyść z wydajności nie jest warta utraty bezpieczeństwa.