Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

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.cs

    If your program does not contain any compilation errors, a Hello.exe file 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

Community Additions

ADD
Show:
© 2015 Microsoft