It is an object-oriented programming language developed by Microsoft as part of the .NET Framework. Its syntax is derived from C/C++ and is very similar to Java, although it includes improvements from other languages.
It is independent so there are different compilers implemented such as the Mono Project or the Framework .NET Core which vary C# programs for different platforms.
The most important characteristics of the language are the following:
C# is an object-oriented programming language since it follows the three principles of this model, encapsulation, inheritance and polymorphism.
The language includes a series of rules or syntax rules to control access to data types. For example, you cannot use previously uninitialized variables or you cannot make conversions of types that are not compatible with each other.
There is no need to include object destruction instructions in the code as the CLR garbage collector will do it for us.
Unification of types
In C# all data types are unified since they are derived from the common class
We can identify code regions with
unsafe to use pointers like in C++. It can be useful when more processing speed is needed.
The language syntax is very similar to C++ and Java, but we can also access Win32 API DLLs.