C# pronounced in English is a C sharp, which literally means CIS in music, is high-level object-oriented programming language, which was developed by Microsoft simultaneously with the .NET Framework platform. Later, the language was approved by the standardized commissions ECMA and ISO. Language C# comes from the languages C++ and Java, and is therefore indirect descendant of language C, from which in many ways acquires its syntax.
C# is possible apply when creating:
Aim of the language
On base of the ECMA standard is the current C# design defined by the following way:
It is simple, modern, multipurpose and object-oriented programming language.
Language, including its implementations, provides support for software engineering principals, among which belongs e. g. protecting borders of the fields, detection of usage of uninitialized variables or automatic garbage collector.
Among other features, the main are robustness, durability and a programmer productivity.
Language is suitable for the development of software components, which are distributed among many different environments.
The source code portability is substantial, especially for the programmers, who work also with C and C++.
Substantial is also the international support.
C# is designed so it would be suitable for writing apps for devices with sophisticated systems and for devices with limited options.
Although programs written in C# should not waste the processor’s time or memory, they can’t be compared to the apps written in C or in language of symbolic addresses in these areas.
Language features
Within C# is not possible to use multiple inheritance – therefore every class can be the descendant maximum of one class. Developers accepted this decision, because they wanted to prevent the complications and the excessive complexity, which is bound to multiple inheritance.
Class can implement unlimited number of interfaces.
Global variables or methods don’t exist. All methods and variables are necessary to define within classes. As a replacement for global variables and methods can be considered the static methods and public class variables.
Object-oriented programming often uses model, when the class data attributes can be accessed from outside only indirectly because of keeping the principal of encapsulation. Two methods can be used: get method (accessor) and set method (mutator). Instead of this, C# allows the setting of property, which works on the outside as a data attribute, but inside it contains space for definition of get method and set method. The advantage of this solution is easier work with data attribute during current preservation of the principal of encapsulation.
C# is in general safer than C++. Implicit conversions, which can be considered as safe, are predefined. E. g. the expanding integer types (e. g. from 32bits to 64bits) or the conversion from the derived type to parental type. Implicit conversions from integer types to Boolean does not exist. Same as implicit conversion between enumeration and integer types.
C# neither need nor contain declaration beforehand – the sequence of the declaration’s method is not substantial.
Language C# is case sensitive, therefore distinguishes between the upper and lowercase letters. Identifiers „value“ and „Value“ are not in this case, compared to VB .NET, equivalent.