Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Here is how Hello World looks in Visual C#:
Listing 1. Hello World in Visual C# (HelloCS.cs)
// Allow easy reference to the System namespace classes.
using System;
// This class exists only to house the entry point.
class MainApp {
// The static method, Main, is the application's entry point.
public static void Main() {
// Write text to the console.
Console.WriteLine("Hello World using C#!");
}
}
This code is a little longer than the equivalent for Managed Extensions for C++. The syntax for accessing the core library is new; it specifies the namespace rather than the name of the file in which it is found:
using System;
The most striking difference is the class specification:
class MainApp {
In Visual C#, all code must be contained in methods of a class. So, to house the entry-point code, you must first create a class. (The name of the class does not matter here). Next, you specify the entry point itself:
public static void Main () {
The compiler requires this to be called Main. The entry point must also be marked with both public and static. In addition, as with the Managed Extensions for C++ example, the entry point takes no arguments and does not return anything (although different signatures for more sophisticated programs are certainly possible).
The next line is:
Console.WriteLine("Hello World using C#!");
Again, this line writes a string using the runtime Console type. In Visual C#, however, you are able to use a period (.) to indicate the scope. Also, you do not have to place an L before the string because, in C#, all strings are Unicode.
The Build.bat file contains the single line that is necessary to build this program:
csc.exe /debug+ /out:.\HelloCS.exe helloCS.cs
In this admittedly simple case, you do not have to specify anything other than the file to compile. In particular, C# does not use the additional step of linking that is required by C++:
C:\...\HelloWorld\cs>build
C:\...\HelloWorld\cs>csc.exe /debug+ /out:.\HelloCS.exe hellocs.cs
Microsoft (R) Visual C# Compiler Version ...[CLR version...]
Copyright (C) Microsoft Corp 2000-2001. All rights reserved.
The default output of the C# compiler is an executable file of the same name, and running this program generates the following output:
C:\...\HelloWorld\cs>hellocs
Hello World using Visual C#!
See Also
Hello World in Visual Basic | Writing Simple .NET Components | Clients for the Simple Components | Summary of Development Tutorial | Appendix A: Tools for Exploring Namespaces