Hello World -- Your First Program (C# Programming Guide)
The following console program is the C# version of the traditional "Hello World!" program, which displays the string Hello World!.
using System; // A "Hello World!" program in C# namespace HelloWorld { class Hello { static void Main() { System.Console.WriteLine("Hello World!"); } } }
Let us now look at the important parts of this program in turn.
Comments
The first line contains a comment:
// A "Hello World!" program in C#
The characters // convert the rest of the line to a comment. You can also comment a block of text by placing it between the characters /* and */, for example:
/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */
The Main Method
The C# program must contain a Main method, in which control starts and ends. The Main method is where you create objects and execute other methods.
The Main method is a static method that resides inside a class or a struct. In the previous "Hello World!" example, it resides in a class called Hello. Declare the Main method in one of the following ways:
-
It can return void:
static void Main() { //... }
-
It can also return an int:
static int Main() { //... return 0; }
-
With both of the return types, it can take arguments:
static void Main(string[] args) { //... }
-or-
static int Main(string[] args) { //... return 0; }
The parameter of the Main method is a string array that represents the command-line arguments used to invoke the program. Notice that, unlike C++, this array does not include the name of the executable (exe) file.
For more information on using command-line arguments, see the example in Main() and Command Line Arguments (C# Programming Guide) and How to: Create and Use C# DLLs (C# Programming Guide).
Input and Output
C# programs generally use the input/output services provided by the run-time library of the .NET Framework. The statement, System.Console.WriteLine("Hello World!"); uses the WriteLine method, one of the output methods of the Console class in the run-time library. It displays its string parameter on the standard output stream followed by a new line. Other Console methods are used for different input and output operations. If you include the using System; directive at the beginning of the program, you can directly use the System classes and methods without fully qualifying them. For example, you can call Console.WriteLine instead, without specifying System.Console.Writeline:
using System;
Console.WriteLine("Hello World!");
For more information on input/output methods, see System.IO.
Compilation and Execution
You can compile the "Hello World!" program either by creating a project in the Visual Studio IDE, or by using the command line. Use the Visual Studio Command Prompt or invoke vsvars32.bat to put the Visual C# tool set on the path in your command prompt.
To compile the program from the command line:
-
Create the source file using any text editor and save it using a name such as
Hello.cs. C# source code files use the extension.cs. -
To invoke the compiler, enter the command:
csc Hello.csIf your program does not contain any compilation errors, a
Hello.exefile will be created. -
To run the program, enter the command:
Hello
For more information on the C# compiler and its options, see C# Compiler Options.
See Also
Reference
Inside a C# ProgramConcepts
C# Programming GuideOther Resources
Visual C# SamplesC# Reference