C# is a general-purpose, modern and object-oriented programming language pronounced as “C sharp”. It was developed by Microsoft led by Anders Hejlsberg and his team within the .Net initiative and was approved by European Computer Manufacturers Association (ECMA) and International Standards Organization (ISO). C# is among the languages for Common Language Infrastructure and the current version of C# is version 7.2. C# is a lot similar to Java syntactically and is easy for the users who have knowledge of C, C++ or Java.
A bit about .Net Framework
.Net applications are multi-platform applications and framework can be used from languages like C++, C#, Visual Basic, COBOL etc. It is designed in a manner so that other languages can use it.
know more about .Net Framework
C# has many other reasons for being popular and in demand. Few of the reasons are mentioned below:
- Easy to start: C# is a high level language so it is closer to other popular programming languages like C, C++, and Java and thus becomes easy to learn for anyone.
- Widely used for developing Desktop and Web Application:
C# is widely used for developing web applications and Desktop applications. It is one of the most popular languages that is used in professional desktop. If anyone want to create Microsoft apps, C# is the go to language.
- Community: The larger the community the better it is as new tools and softwares will be developing to make it better. C# has a large community so the developments are done to make it exist in system and not become extinct.
C# is widely used in game development and will continue to dominate. C# integrate with Microsoft and thus has a large target audience. The C# features such as Automatic Garbage Collection, interfaces, object oriented etc. makes C# a popular game developing language.
Linux: Mono can be used to run C# programs on Linux.
Programming in C#:
Since the C# is a lot similar to other widely used languages syntactically, it is easier to code and learn in C#.
Programs can be written in C# in any of the widely used text editors like Notepad++, gedit etc. or on any of the compilers. After writing the program save the file with the extension .cs.
Example: A simple program to print Hello Geeks
1. Comments: Comments are used for explaining code and are used in similar manner as in Java or C or C++. Compilers ignore the comment entries and does not execute them. Comments can be of single line or multiple lines.
Single line Comments:
// Single line comment
Multi line comments:
/* Multi line comments*/
2. using System: using keyword is used to include the System namespace in the program.
namespace declaration: A namespace is a collection of classes. The HelloGeeksApp namespace contains the class HelloGeeks.
3. class: The class contains the data and methods to be used in the program. Methods define the behavior of the class. Class HelloGeeks has only one method Main similar to JAVA.
4. static void Main(): static keyword tells us that this method is accessible without instantiating the class. 5. void keywords tells that this method will not return anything. Main() method is the entry-point of our application. In our program, Main() method specifies its behavior with the statement Console.WriteLine(“Hello Geeks”); .
6. Console.WriteLine(): WriteLine() is a method of the Console class defined in the System namespace.
7. Console.ReadKey(): This is for the VS.NET Users. This makes the program wait for a key press and prevents the screen from running and closing quickly.
Note: C# is case sensitive and all statements and expressions must end with semicolon (;).
Advantages of C#:
- C# is very efficient in managing the system. All the garbage is automatically collected in C#.
- There is no problem of memory leak in C# because of its high memory backup.
- Cost of maintenance is less and is safer to run as compared to other languages.
- C# code is compiled to a intermediate language (Common (.Net) Intermediate Language) which is a standard language, independently irrespective of the target operating system and architecture.
Disadvantages of C#:
- C# is less flexible as it depends alot on .Net framework.
- C# runs slowly and program needs to be compiled each time when any changes are made.
- C# is widely used for developing desktop applications, web applications and web services.
- It is used in creating applications of Microsoft at a large scale.
- C# is also used in game development in Unity.