私はポインタを理解しており、まれにC#コードでそれらを使用する必要があります。私の質問は、コードブロックに「安全でない」と明示的に述べなければならない理由は何か。さらに、「安全でない」コードを許可するためにコンパイラオプションを変更する必要があるのはなぜですか?C#:「安全でない」/コンパイラオプションを明示的に指定する利点
ボトムライン:何CLR(または言語仕様)で、我々はいつでも、それは私たちだけで(多くのCおよびC++のような)「安全でない」と入力し、コンパイラオプションを変更することなく、ポインタを使用することはできませんになり?
説明のために:私は「安全でない」コードと「安全な」コードが何であるか知っています。これは、これらの機能を使用できるようにするために、余分な作業をすべて行う必要がある(なぜなら、それほど余分ではない)ということの問題です。
基本的に、それはC++で作るのがずっと簡単だったのと同じミスをやめさせようとしているのですか? – Inisheer
低レベルのAPI呼び出しを行う、ポインタ演算を使用する、またはその他の不快な操作を行うMS:C#コードから、unsafeキーワードでマークされたブロックの中に配置する必要があります。 – VBNight
# からMS:場合によっては、安全でないコードが配列の境界チェックを削除してアプリケーションのパフォーマンスを向上させることがあります。 – VBNight