Getting started with C# Language
Remarks#
C# is a multi-paradigm, C-descendant programming language from Microsoft. C# is a managed language that compiles to CIL, intermediate bytecode which can be executed on Windows, Mac OS X and Linux.
Versions 1.0, 2.0 and 5.0 were standardized by ECMA (as ECMA-334), and standardization efforts for modern C# are underway.
Versions#
Version | Release Date |
---|---|
1.0 | 2002-01-01 |
1.2 | 2003-04-01 |
2.0 | 2005-09-01 |
3.0 | 2007-08-01 |
4.0 | 2010-04-01 |
5.0 | 2013-06-01 |
6.0 | 2015-07-01 |
7.0 | 2017-03-07 |
Creating a new console application (Visual Studio)
-
Open Visual Studio
-
In the toolbar, go to File → New Project
-
Select the Console Application project type
-
Open the file
Program.cs
in the Solution Explorer -
Add the following code to
Main()
:public class Program { public static void Main() { // Prints a message to the console. System.Console.WriteLine(“Hello, World!”);
/* Wait for the user to press a key. This is a common way to prevent the console window from terminating and disappearing before the programmer can see the contents of the window, when the application is run via Start from within VS. */ System.Console.ReadKey(); }
}
-
In the toolbar, click Debug -> Start Debugging or hit F5 or ctrl + F5 (running without debugger) to run the program.
Explanation
-
class Program
is a class declaration. The classProgram
contains the data and method definitions that your program uses. Classes generally contain multiple methods. Methods define the behavior of the class. However, theProgram
class has only one method:Main
. -
static void Main()
defines theMain
method, which is the entry point for all C# programs. TheMain
method states what the class does when executed. Only oneMain
method is allowed per class. -
System.Console.WriteLine("Hello, world!");
method prints a given data (in this example,Hello, world!
) as an output in the console window. -
System.Console.ReadKey()
, ensures that the program won’t close immediately after displaying the message. It does this by waiting for the user to press a key on the keyboard. Any key press from the user will terminate the program. The program terminates when it has finished the last line of code in themain()
method.
Using the command line
To compile via command line use either MSBuild
or csc.exe
(the C# compiler), both part of the Microsoft Build Tools package.
To compile this example, run the following command in the same directory where HelloWorld.cs
is located:
%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe HelloWorld.cs
It can also be possible that you have two main methods inside one application. In this case, you have to tell the compiler which main method to execute by typing the following command in the console.(suppose Class ClassA
also has a main method in the same HelloWorld.cs
file in HelloWorld namespace)
%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe HelloWorld.cs /main:HelloWorld.ClassA
where HelloWorld is namespace
Note: This is the path where .NET framework v4.0 is located in general. Change the path according to your .NET version. In addition, the directory might be framework instead of framework64 if you’re using the 32-bit .NET Framework. From the Windows Command Prompt, you can list all the csc.exe Framework paths by running the following commands (the first for 32-bit Frameworks):
dir %WINDIR%\Microsoft.NET\Framework\csc.exe /s/b
dir %WINDIR%\Microsoft.NET\Framework64\csc.exe /s/b
There should now be an executable file named HelloWorld.exe
in the same directory. To execute the program from the command prompt, simply type the executable’s name and hit Enter as follows:
HelloWorld.exe
This will produce:
Hello, world!
You may also double click the executable and launch a new console window with the message ”Hello, world!”
Creating a new project in Visual Studio (console application) and Running it in Debug mode
-
Download and install Visual Studio. Visual Studio can be downloaded from VisualStudio.com. The Community edition is suggested, first because it is free, and second because it involves all the general features and can be extended further.
-
Open Visual Studio.
-
Click Templates → Visual C# → Console Application
-
After selecting Console Application, Enter a name for your project, and a location to save and press OK. Don’t worry about the Solution name.
-
Project created. The newly created project will look similar to:
(Always use descriptive names for projects so that they can easily be distinguished from other projects. It is recommended not to use spaces in project or class name.)
-
Write code. You can now update your
Program.cs
to present “Hello world!” to the user.using System; namespace ConsoleApplication1 { public class Program { public static void Main(string[] args) { } } }
Add the following two lines to the
public static void Main(string[] args)
object inProgram.cs
: (make sure it’s inside the braces)Console.WriteLine("Hello world!"); Console.Read();
Why
Console.Read()
? The first line prints out the text “Hello world!” to the console, and the second line waits for a single character to be entered; in effect, this causes the program to pause execution so that you’re able to see the output while debugging. WithoutConsole.Read();
, when you start debugging the application it will just print “Hello world!” to the console and then immediately close. Your code window should now look like the following:using System; namespace ConsoleApplication1 { public class Program { public static void Main(string[] args) { Console.WriteLine("Hello world!"); Console.Read(); } } }
-
Debug your program. Press the Start Button on the toolbar near the top of the window or press F5 on your keyboard to run your application. If the button is not present, you can run the program from the top menu: Debug → Start Debugging. The program will compile and then open a console window. It should look similar to the following screenshot:
-
Stop the program. To close the program, just press any key on your keyboard. The
Console.Read()
we added was for this same purpose. Another way to close the program is by going to the menu where the Start button was, and clicking on the Stop button.
Creating a new program using Mono
First install Mono by going through the install instructions for the platform of your choice as described in their installation section.
Mono is available for Mac OS X, Windows and Linux.
After installation is done, create a text file, name it HelloWorld.cs
and copy the following content into it:
public class Program
{
public static void Main()
{
System.Console.WriteLine("Hello, world!");
System.Console.WriteLine("Press any key to exit..");
System.Console.Read();
}
}
If you are using Windows, run the Mono Command Prompt which is included in the Mono installation and ensures that the necessary environment variables are set. If on Mac or Linux, open a new terminal.
To compile the newly created file, run the following command in the directory containing HelloWorld.cs
:
mcs -out:HelloWorld.exe HelloWorld.cs
The resulting HelloWorld.exe
can then be executed with:
mono HelloWorld.exe
which will produce the output:
Hello, world!
Press any key to exit..
Creating a new program using .NET Core
First install the .NET Core SDK by going through the installation instructions for the platform of your choice:
After the installation has completed, open a command prompt, or terminal window.
-
Create a new directory with
mkdir hello_world
and change into the newly created directory withcd hello_world
. -
Create a new console application with
dotnet new console
.
This will produce two files:
- **hello_world.csproj**
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
</Project>
- **Program.cs**
using System;
namespace hello_world
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
-
Restore the needed packages with
dotnet restore
. -
Optional Build the application with
dotnet build
for Debug ordotnet build -c Release
for Release.dotnet run
will also run the compiler and throw build errors, if any are found. -
Run the application with
dotnet run
for Debug ordotnet run .\bin\Release\netcoreapp1.1\hello_world.dll
for Release.
Command Prompt output
Creating a new query using LinqPad
LinqPad is a great tool that allows you to learn and test features of .Net languages (C#, F# and VB.Net.)
- Install LinqPad
- Create a new Query (Ctrl + N)
3. Under language, select “C# statements” 4. Type the following code and hit run (F5)
string hw = "Hello World";
hw.Dump(); //or Console.WriteLine(hw);
- You should see “Hello World” printed out in the results screen.
6. Now that you have created your first .Net program, go and check out the samples included in LinqPad via the “Samples” browser. There are many great examples that will show you many different features of the .Net languages.
Notes:
- If you click on “IL”, you can inspect the IL code that your .net code generates. This is a great learning tool.
2. When using LINQ to SQL
or Linq to Entities
you can inspect the SQL that’s being generated which is another great way to learn about LINQ.
Creating a new project using Xamarin Studio
- Download and install Xamarin Studio Community.
- Open Xamarin Studio.
- Click File → New → Solution.
- Click .NET → Console Project and choose C#.
- Click Next to proceed.
- Enter the Project Name and Browse… for a Location to Save and then click Create.
- The newly created project will look similar to:
-
This is the code in the Text Editor:
using System;
namespace FirstCsharp { public class MainClass { public static void Main(string[] args) { Console.WriteLine(“Hello World!”); Console.ReadLine(); } } }
-
To run the code, press F5 or click the Play Button as shown below:
- Following is the Output: