2017-09-02 3 views
-1

私はC#ラーナーです。私はインストラクターが教えたやり方を理解していません。だから、私がやったことは自宅でVisual Studio 2017をインストールし、私たちが学校でやったことをやろうとしています。C#Console.WriteLineはどこから来たのですか

参考、わかりません。ソリューションエクスプローラの1つ。 intelisenseと呼ばれるものと上記のコードusing System;

私の研究で。ソリューションエクスプローラの参照タブは、プログラムで使用されるライブラリまたはプリコンパイルされたコードのコレクションです。

だから私は何をしたのですか?プログラムへのライブラリ参照をすべて削除しました。しかし、なぜConsole.WriteLineはまだ動作しますか?これについてのライブラリ参照はありますか?またはどのDLLがSystem名前空間を使用していますか?

誰かがコードをどのように使用するのか説明してください。私たちのインストラクターは、彼がインターネットで検索した内容を読んで教えてくれます。彼は初心者からこのような技術的なことを知っていると私たちは期待しています。

`using System;` 

namespace Hello_World 
class Program 
intelisense 

ソリューションエクスプローラの参照は、私が理解していることですが、主な方法はプログラムの起動です。私たちのプログラムを実行すると、その中のすべてのコードが最初に実行されます。

ありがとうございました。

+0

システムは[アセンブリ]タブで参照されます。私たちのプロジェクトを右クリック - >追加 - >リファレンス - >アセンブリ - >フレームワーク – 7raiden7

+0

これは段落などで答えるには大きすぎるトピックです。あなたは本を買うか、チュートリアルに従う必要があります。私は[CLR via C#](https://www.microsoftpressstore.com/store/clr-via-c-sharp-9780735667457)をお勧めします。 –

+0

難しい方法を学ぶことができます。 VSを忘れる。あなたのメモ帳を開き、プログラムを書いてsomething.csとして保存し、コマンドラインコンパイラcscを使います。今、あなたはこれらすべての参考文献を扱わなければなりませんが、多くのことを学ぶようにしてください。 –

答えて

2

あなたの質問は、本当に、本当に広いです。より具体的な質問をすることを検討することをお勧めします。

私はあなたの質問のいくつかに答えようとします。

まず、あなたの場合は* .dllファイルのライブラリにコード、クラス、メソッドなどが含まれています これらのライブラリをプロジェクトに組み込むことで、プロジェクト内でこのコードを参照できます。たとえば、次のようにアクセスできます。あなた自身のコードからライブラリ内のメソッド。

using System;には、名前空間が含まれています。たとえば、何らかの関連オブジェクトが存在するコンテナを考えてみましょう。

システム名前空間はmscorlib.dllライブラリで定義されており、その中にSystemという名前空間があり、Consoleというクラスがあります。 このmscorlib.dllライブラリはで、が自動的にVisual Studioプロジェクトに含まれています。 Console.WriteLineは、mscorlib.dllへの参照がまだ存在し、あなたがusing System;であるため、引き続き機能します。 usingステートメントを使用しない場合でも、System.Console.WriteLine();と入力した場合に限り、usingが実際に実行するので、これは動作しますが、* .csファイルに名前空間が含まれるため、名前空間/アセンブリを入力する必要はありませんあなたが毎回使っているすべてのクラスの中から選択します。

class Programは、完全ではないにもかかわらず、 "Program"という名前のクラスを宣言します。 クラスについての説明は、Microsoft C# Programming Guideから始めることができます。

あなたのIntellisenseに関する問題については、私は本当に分かりませんが、それについては不明です。一般に、IntellisenseはMicrosoftがVisual Studioで提供するオートコンプリート機能です。また、コードスニペットといくつかのより有用なものが含まれています。

最後に、教師が科目に関する十分な情報を提供しない場合は、最初から一般的な(C#)プログラミングについての説明を読み始めることをお勧めします。インターネットには多くの素晴らしいチュートリアルがあり、プログラミングのあらゆる側面を説明しています。もちろん、C#/ .NETのための良い場所は、それぞれのページのマイクロソフトのトピックです。

+0

ありがとうございました。あなたの説明は今質問に対する私の理解に違いをもたらすが、あなたの説明は私が物事を理解しやすくする。そして私はいくつかのチュートリアルを読むつもりです。 –

0

私はrqnnに同意します。私はあなたにこの種の質問をし、それが大きな話題であるために答えを処理するために、時間と多くのチュートリアルが必要だと思います。 このアドバイスには、https://www.youtube.com/watch?v=SXmVym6L8dw&list=PLAC325451207E3105のチュートリアルとC#および.Netプログラムの実行についての推奨事項があります。

名前空間に関するこの図は、rqnnのの回答に役立つかもしれません。

using System; 
using MySystem; 

namespace ConsoleApp1 
{ 
    class Program 
    { 
     public static void Main(string [] args) 
     { 

      Console.WriteLine("Hello world");  
      MyConsole.MyWriteLine("Hello world"); 

      //other way (then you wouldn't need using System and using MySystem) 

      System.Console.WriteLine("Hello world01"); 
      MySystem.MyConsole.MyWriteLine("Hello world01"); 

     } 

    } 
} 

// I've created my own namespace 
namespace MySystem 
{ 
    class MyConsole 
    { 
     public static void MyWriteLine(string message) 
     { 
      // some complex code that displays message on console(in short term) 
     } 
    } 

} 

の主な私が作成した私自身の名前空間、と私はこれらのメソッドを呼び出すときにuは類似性を見つけることができますWriteLineメソッド method.Hopeだけでなく、作成した自分自身のメソッドを呼び出してい方法。

+1

ありがとうございます。 stackoverflowは本当に良いウェブサイトです。あなたの知識を共有してくれてありがとう –