C#で#include指令が不要なのはなぜですか?これは、C#がC/C++プリプロセッサ、コンパイラ、リンカなどの本質と比べて、より開発/包括的な/制限的なコンパイルプロセスを持っているという事実によるものですか? (つまり、Visual Studio for C#で開発しています)。C#で#include指令が不要なのはなぜですか?
私は、コンパイルプロセスが追加のクラスを探す場所をどのように知っているのか不思議です。
編集:実際の#include文はC#では必要ないと思いますが、これは意味をなさないためです。しかし、あなたのC#プログラムがインジケータなしで他のクラスの存在をどのように認識しているか、もっと興味があります。 ありがとう、
コンパイルするすべての '.cs'ファイルはコンパイラによって認識されているため、お互いにインクルードする必要はありません。ファイル名は直接コンパイラに渡されます。実際にはC++では '.cpp'ファイルだけが同じですが、その場合はすべてをまとめて処理するリンカです。 – Kyle
ダイレクトアンサー - C#はCではありません。CをプログラミングするときにCを忘れて、質問しません。なぜですか? (**あなたが**聞くことができるそのような質問のどれくらいをイメージングするか)。より具体的な答え - C#はHファイルを使用せず、ファイルを見つけるための '#include 'を探すのではなく、プロジェクトファイルと' using'を使ってクラスを探す場所を定義します。詳細については、[this](http://stackoverflow.com/q/2134017/1997232)を参照すると便利です。 – Sinatr
@Sinatr C++で 'using'キーワードを使用したことは、型解決に使用されていることです。それはC#で似ているようです。しかし、 'using'キーワードは、クラス内で実際にアクセスできるようにするためのコードを実際に持っている限り、何もしません。 C++では、#includeディレクティブを使用してクラス定義、関数プロトタイプなどを持ち込み、コンパイラにどこかで定義する必要のあるものを探すよう通知します。しかし、C#では、IDEがこれを行いますか?したがって、#includeディレクティブは必要ありません。 – Izzo