.NET Framework SDKで始める.NETプログラミング(前編)
5.Hello World展覧会(2) - C#−デジタルアドバンテージ 遠藤孝信 2001/02/10 |
C#版Hello World
まずは、各言語でコマンド・プロンプトに“Hello World”のメッセージを出力するコンソール・アプリケーションを作ってみよう。
最初に使用する言語はMicrosoft.NETとともに世に紹介され、.NETプログラミングの本命言語と呼び声高いC#である。ソースコードは次のようになる。なお、このソースコードの行頭に挿入されている数値は、説明を容易にするために便宜上挿入した行番号であり、実際のソースコードには入力しない(以下、掲載するすべてのリストも同じ)。
|
|||||||||||||||
C#版Hello Worldのソースコード | |||||||||||||||
|
ここで簡単にプログラムの説明をしておこう。
1行目の“//”で始まる行はコメント行で、プログラムの実行には何ら影響を及ぼさない。今回紹介するすべてのプログラムでは、このようにソースコードの1行目にファイル名をコメントとして記すことにする。
3行目の“using”、はプログラム内で使用するクラス・ライブラリのネームスペースを宣言するものだ。.NET Frameworkでは、クラス名の衝突を避けるため、ネームスペースにより階層的にクラスを分類している。9行目で文字列を出力するために使用しているConsoleクラスはSystemネームスペースに属しており、本来ならば、
System.Console.WriteLine(……) |
と記述すべきところだが、毎回このような記述をするのは長ったらしいので、using文でネームスペースを指定し、以降での指定を省略できるようにする。このSystemネームスペースには、広く一般に使用されるクラスが含まれているので、C#プログラムにかぎらず、たいていのマネージド・コードでお約束のように指定されている。
C#では、すべてのコードはクラス内で定義される。この例では、“HelloClass”というクラス名をつけた(5行目)。
HelloClassクラスが持つ唯一のメソッドはMainメソッドであり、これはプログラムの実行時に最初に呼び出される特別なメソッドである(7行目)。名前の大文字/小文字は区別されるので、Mainの最初の“M”は大文字でなければならない。小文字で“main”と書いてコンパイルしても、エントリ・ポイントが定義されていないというコンパイル・エラーになる。
Mainメソッドでは、ConsoleオブジェクトのWriteLineメソッドを呼び出して、コンソールに文字列を表示する(9行目)。なお今回使用したWriteLineでは、出力した文字列の最後に自動的に改行コードが追加される。改行コードが不要なら、WriteLineではなく、Console.Writeメソッドを使用する。
これらのコードをテキスト・エディタで入力し、ファイル名を“cshello.cs”として保存する。C#のソースコードには、拡張子“cs”を使用する。
作成したソースコードをコンパイルするには、コマンド・プロンプトを開き、ソースコード・ファイルを保存したディレクトリ(この例ではX:\prog\cs)に移動し、C#コンパイラ(csc.exe)を起動する。これにより、cshello.exeという実行ファイルが生成される。以下は、cshello.csをコンパイルし、生成されたcshello.exeプログラムを実行したところである。
C#版Hello Worldの実行結果 |
ConsoleクラスのWriteLineメソッドに指定した“Hello C# World!”の文字列が表示された。 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|