Dating from 2000, C# (pronounced C-sharp) is a relatively new programming language designed by Microsoft for a wide range of enterprise applications that run on the .NET Framework. An evolution of C and C++, the C# language is simple, modern, type safe and object oriented.
Visual C# provides prototypes of some common project types, including:
- Windows Application.
- Class Library.
- Windows Control Library.
- ASP.NET Web Application.
- ASP.NET Web Service.
- Web Control Library.
- Console Application.
- Windows Service.
How C# codes run
Source code written in C# is compiled into an intermediate language (IL) that conforms to the CLI specification. The IL code and resources, such as bitmaps and strings, are stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll. An assembly contains a manifest that provides information about the assembly's types, version, culture, and security requirements.
When the C# program is executed, the assembly is loaded into the CLR, which might take various actions based on the information in the manifest. Then, if the security requirements are met, the CLR performs just in time (JIT) compilation to convert the IL code to native machine instructions. The CLR also provides other services related to automatic garbage collection, exception handling, and resource management. And all of this operation happens on top of the operating system.
In this series I will write about C# advanced topics like as generics, delegates, anonymous methods and lambda expressions, events, extension methods, nullable types, indexers, collections, the dynamic keyword and late binding, exception handling and asynchronous programming.
01. You have the familiarity with Visual Studio, as we all know VS is an IDE that can manage the whole life cycle of the software development.
02. You have the basic knowledge of C#.
In the next article, I will describe the topics delegate, anonymous method and lambda expression. So stay tuned and learn all the C# advanced topics with examples.