Introduction to C#

1/7/2020 12:00:00 AM

Why C Sharp (C#)?

Microsoft provides (dot) NET, No particular meaning of (dot) NET. It is like a product came from Microsoft. (dot) NET Provides set of languages. Under .Net C# is the most powerful language. C Sharp or C# is an Object-Oriented programming language which allows to create various kind of Applications.

  • Web-Application, Mobile Application, Desktop Application.


  • Object Oriented.
  • Platform Independent.
  • Language Independent.

So, we also called C# is very powerful language and the best competitor of JAVA. We can make very excellent application by using C# language.


If you program in C# then you will learn .NET framework as well# is a managed language which means that C# requires .NET framework to execute. If Your Background is C or C++, it is helpful to understand better of learning C#. But don’t worry; there is no prerequisite to be honest to keep persistent.

C# trend and latest technology which release and update few things

.NET Core and .NET Standard During the year 2018, the development of .NET Core continued at full speed and several important releases were made available.

.NET Core 2.1

In May 2018, .NET Core 2.1 was released. Its main focus was performance:

  • Build times were drastically improved. Build time for a Large project got 10 times faster than before.
  • A new memory efficient type Span<T> was introduced which provided an isolated view of a part of a larger array without any memory operations. It is very useful for efficient parsing and other processing of large inputs.
  • Span<T> was used to implement a new HttpClient class for better networking performance.
  • A lot of work has been done on the JIT (just-in-time) compiler to improve the runtime performance of applications.

New features were also introduced. The most important ones are:

- The Windows compatibility pack includes 20 thousand APIs from the .NET framework which are not included in .NET Core itself (System.Drawing namespace, support for Windows services, registry, EventLog etc.). It can primarily be used to make porting of existing .NET framework applications to .NET Core, easier. Despite its name, it’s available not just for Windows but about half of the APIs are also implemented on other platforms. The rest throw an exception (as of this writing) when invoked on a non-Windows OS.

- .NET Core Tools represent a new (NuGet based) way for deploying command line (CLI) tools written in .NET Core. They are modelled after NPM (Node Package Manager) global tools. A tool can be installed using the following command:

dotnet tool install -g dotnet-serve

It will be added to the path and can later be invoked using only its name:


.NET Core 2.2

Just before the end of the year, in December 2018, .NET Core 2.2 was released. It didn’t have as many improvements as .NET Core 2.1. Most changes were introduced to ASP.NET Core, e.g.:

  • Better support for Open API (Swagger) descriptors for HTTP (REST) services. Customizable conventions were added as a simpler alternative to individual documentation attributes. A new router with improved performance and a better globally available link generator.

Entity Framework Core was also expanded with support for spatial data.

Although .NET Core 2.2 was released after .NET Core 2.1 and includes several new features, it’s recommended to still use .NET Core 2.1 for most applications, because it has a different support policy. .NET Core 2.1 was released as an LTS (Long Term Support) version which means that it will be supported for 3 years after its initial release (August 2018 when .NET Core 2.1.3 was released), or one year after the release of the next LTS version (whichever happens later).

In contrast, .NET Core 2.2 was released as a Current version. As such, it will only be supported for 3 more months after the next version of .NET Core is released (either Current or LTS).

.NET Core 3.0

Also, in December 2018, .NET Core 3.0 preview 1 was released. It’s the first public preview of the next major version of .NET Core.

Its main new feature is the ability to create Windows desktop applications using Windows Forms or WPF (Windows Presentation Foundation). Both UI frameworks are extended with support for hosting UWP (Universal Windows Platform) XAML controls when targeting Windows 10 only. These controls provide access to modern browser and media player controls, as well as better touch support. .NET Core implementations of all three UI frameworks (Windows Forms, WPF and UWP) were open sourced.

The main use case for .NET Core Windows desktop applications is porting of existing .NET framework desktop applications, to .NET Core. To make it even easier, the latest version of Entity Framework 6 is being ported to .NET Core as well.

Although recompiling existing .NET framework applications for .NET Core won’t make them cross-platform because the UI frameworks are only available on Windows, it will still allow them to take advantage of other .NET Core benefits:

  • Improved performance of .NET Core in comparison to the .NET framework.
  • Support for application local deployment (in addition to global deployment) of the .NET Core version that the application uses. This will allow different applications to use different versions of .NET Core which is currently not possible with the .NET framework.

.NET Core 3.0 will also bring other new features:

  • Further performance optimizations (improved Span<T> and String types, faster JSON library based onSpan<T>, JIT compiler optimizations).
  • Local installation of .NET tools which will make it easier to restore local development environment and use a specific version of a tool with a project.

.NET Standard 2.1

According to the currently available information, the final release of .NET Core 3.0 will also be accompanied with the release of .NET Standard 2.1.