.NET Framework and what is C#?
.NET is a software framework which is developed by Microsoft. The very first .NET framework was introduced in 2002 for compiling and executing programs written in different languages like C#, VB.Net etc. It is used to develop Form-based applications, web-based applications and Web services.
For C#, the language itself helps us to understand the result for multi-paradigm to encompass strong typing, imperative, declarative, functional, generic, and object-oriented/class-based programming disciplines. As C# is derived from the C programming language, it also introduces some unique and significantly powerful features in regards to lambda expressions and function pointers which introduce elements of functional programming languages, as well as a simpler single class.
When we take into consideration with .NET Framework while coding C#, we can implement the a fairly powerful language into a framework from a unified set of class libraries and CLR (Common Language Runtime) which executes the .NET framework we want to convert from a complied of algorithmic source code.
Take this picture for example:
As we can see, there are various of .NET Frameworks implemented over the pass decade when we are building our architecture. From the likes of ASP.NET to Task-based Asynchronous Pattern (TAP) which helps us to understand the software efficiently. With the latest .NET Framework 4.5, any method that is attributed with ASYNC as a keyword is considered as asynchronous method in which C# compiler performs the necessary change to implement the method right from TAP.