C# is a simple but very powerful object oriented language introduced by Microsoft specially to work with the .NET platform. C# is similar to C++ in some in many ways and evolution of the C and C++ languages. It is a programming language designed for building a wide range of enterprise applications that run on the .NET Framework.
C# is intended to build solutions for the broadest range of clients server application, including Web applications, Microsoft Windows Forms-based applications. You can use C# language to develop powerful object oriented application which includes oops features like encapsulation, inheritance, and polymorphism etc.
C# is just one of the language available for .NET development, but as experience it is certainly the best. CSharp is certainly a language you can use to develop different kind of applications.
Using C# you can develop windows application like MS Office which is reach in look and feel by using .NET framework library that includes button, menu, form, Textbox, label etc.
Using .NET framework, which include powerful system called ASP.NET with the help of C# you can create more interacting, highly secure and user friendly ASP.NET web application.
Web Service is the most popular technique to create versatile distributed application. Web Service is used to exchange data over the internet regardless of the language to develop the Web Service or system that it resides on.
C# 2.0 | C# 3.0 | C# 4.0 | C# 5.0 | C# 6.0 | |
---|---|---|---|---|---|
Features added | Generics | Implicitly typed local variables | Dynamic binding | Asynchronous methods | Compiler-as-a-service (Roslyn) |
Partial types | Object and collection initializers | Named and optional arguments | Caller info attributes | Import of static type members into namespace | |
Anonymous methods | Auto-Implemented properties | Generic co- and contravariance | New Exception filters | ||
Iterators | Anonymous types | Embedded interop types ("NoPIA") | Await in catch/finally blocks | ||
Nullable types | Extension methods | Auto property initializers | |||
Getter/setter separate accessibility | Query expressions | Default values for getter-only properties | |||
Method group conversions (delegates) | Lambda expressions | Expression-bodied members | |||
Co- and Contra-variance for delegates | Expression trees | Null propagator | |||
Static classes | Partial methods | String Interpolation | |||
nameof operator | |||||
Parameterless struct constructors | |||||
Dictionary initializer |