Features of CSharp
Although C# constructs closely follow traditional high-level languages C and C++ and being an object-oriented programming language, it has strong resemblance with Java, it has numerous strong programming features that make it endearing to multitude of programmers worldwide.
Following is the list of few important features:
- Boolean Conditions
- Automatic Garbage Collection.
- Standard Library.
- Assembly Versioning.
- Properties and Events.
- Delegates and Events Management.
- Easy-to-use Generics.
- Indexers.
1.SIMPLE
- Pointers are missing in C#.
- Unsafe operations such as direct memory manipulation
are not allowed.
- In C# there is no usage of "::" or "->" operators.
- Since it's on .NET, it inherits the features of
automatic memory management and garbage collection.
- Varying ranges of the primitive types like
Integer,Floats etc.
- Integer values of 0 and 1 are no longer accepted as
boolean values.Boolean values are pure true or false values in C# so no more
errors of "="operator and "=="operator.
- "==" is used for comparison operation and "=" is used
for assignment operation.
2.MODERN
- C# has been based according to the current trend and is
very powerful and simple for building interoperable, scable, robust
applications.
- C# includes built in support to turn any component
into a web service that can be invoked over the internet from any application
runing on any platform.
3. OBJECT ORIENTED
- C# supports Data Encapsulation, inheritance,polymorphism,
interfaces.
- (int,float, double) are not objects in java but C# has
introduces structures(structs) which enable the primitive types to become
objects.
int i=1;
string a=i Tostring(); //conversion (or) Boxing
4.TYPE SAFE
- In C# we cannot perform unsafe casts like convert double
to a boolean.
- Value types (priitive types) are initialized to zeros and
reference types (objects and classes) are initialized to null by the compiler
automatically.
- arrays are zero base indexed and are bound checked.
- Overflow of types can be checked.
5.INTEROPERABILITY
- C# includes native support for the COM and windows based
applications.
- Allowing restriced use of native pointers.
- Users no longer have to explicityly implement the unknown
and other COM interfacers, those features are built in.
- C# allows the users to use pointers as unsafe code blocks
to manipulate your old code.
- Components from VB NET and other managed code languages
and directlyt be used in C#.
6.SCALABLE AND UPDATEABLE
- .NET has introduced assemblies which are self describing
by means of their manifest. manifest establishes the assembly identity, version,
culture and digital signature etc. Assemblies need not to be register anywhere.
- To scale our application we delete the old files and
updating them with new ones. No registering of dynamic linking library.
- Updating software components is an error prone task.
Revisions made to the code. can effect the existing program C# support
versioning in the language. Native support for interfaces and method overriding
enable complex frame works to be developed and evolved over time.