У C # є можливість виконувати код без перевірки. Зазвичай це не рекомендується робити, оскільки керований код набагато безпечніший і він долає безліч проблем.
Однак мені цікаво, якщо ви впевнені, що ваш код не спричинить помилок, і ви знаєте, як обробляти пам'ять, то чому (якщо вам подобається швидкий код) дотримуйтесь загальних порад?
Мені це цікаво, оскільки я написав програму для відеокамери, яка вимагала надзвичайно швидких маніпуляцій з растровими зображеннями. Я створив кілька швидких графічних алгоритмів, і вони відмінно працюють в растрових картах, використовуючи некерований код.
Зараз я взагалі дивуюсь, якщо ви впевнені, що у вас немає витоків пам'яті або ризику збоїв, чому б не використовувати частіше керований код?
PS моє передумови: я начебто згорнувся в цей світ програмування і працюю один (я роблю це вже кілька років), тому сподіваюся, що це питання розробки програмного забезпечення не таке дивне. У мене насправді немає інших людей, як учитель, щоб запитати таких речей.
unsafe
приклад використання: stackoverflow.com/q/11660127/102937
unsafe
означає "знайте, що ви робите, і зважте переваги проти ризиків". Я використовувавunsafe
кілька разів, і це завжди було щось дуже специфічне, пов’язане з продуктивністю, яке можна було оградити за власним методом. Я не використовую його як загальну техніку програмування, оскільки більшість часу додаткова користь від продуктивності не вартує втрати безпеки.