2016-08-28 8 views
-3

私はVSOで新しいプロジェクトを作成しました。自動的にクラスと名前空間を生成しました。クラスと名前空間なしでMain()関数を実行しようとすると、失敗しました。C#で少なくとも1つのクラスが必要なのはなぜですか?

C#でプログラムを実行するために少なくとも1つのクラスが必要なのはなぜですか?

+6

これは仕様です。あなたが求めている質問は、車を始めるためにキーを使用する必要があるのと同じようなものです。いくつかの車はボタンを押すだけで始めることができるため、クラスを作成する必要のない言語(C、C++、Basic、DBase、Fortran、Cobol、アセンブリ、機械語など)がたくさんあります。 –

+0

クラス、名前空間すべてのそれらの技術的なOOPの単語。あなたのオペレーティングシステムとVisualスタジオを考えてください。Visual Studioで書いたものをあなたのコードに入れるには、出発点、エントリーポイント、関数、ポインタ、データ層などの世界(OSの制御下にあなたのプログラムを与える/与える)。静的Void Main()はエントリーポイントとみなされ、クラスが必要な適切な方法でドアを保持する。エントリーポイントであり、クラスはドアのフレームを保持します。そして、プログラミングの世界では始まります –

答えて

0

これは、Cプログラムにメソッドが含まれていなければならない理由を尋ねるようなものです。メソッドを持たないCプログラムについて話すのではなく、オブジェクトを持たないC#プログラムについて話すことは、もはや意味をなさない。

Javaの場合と同様に、C#はまずオブジェクト指向プログラムです。これらの言語では、プログラムは定義によってオブジェクトの集合です。 C#の機能的な機能もオブジェクト指向の方法で実装されています。

異なるプログラミングパラダイムは、プログラムとは異なるモデルに基づいています。例えば:

  • 宣言:状態
  • 機能のコレクション:関数のコレクション(または、代わりに、演算の結果)。
  • オブジェクト指向:相互に作用するオブジェクトのコレクション
  • 命令型:言語は、多くの場合、ある程度のパラダイムをミックスすることをアルゴリズムのコレクション

は注意してください。たとえば、C++は命令型プログラミングとオブジェクト指向プログラミングの両方をサポートし、C#は多くの機能を備えています。

関連する問題