C# and its Features

  1. C# is a simple, modern, object oriented language derived from C++ and Java.
  2. It aims to combine the high productivity of Visual Basic and the raw power of C++.
  3. It is a part of Microsoft Visual Studio 7.0.
  4. Visual Studio supports VB, VC++, C++, VBscript, JScript. All of these languages provide access to the Microsft .NET platform.
  5. .NET includes a Common Execution engine and a rich class library.
  6. Microsoft JVM eqiv is Common language run time(CLR).
  7. CLR accommodates more than one language such as C#, VB.NET, Jscript, ASP.NET, C ++.
  8. Source code --->Intermediate Language code(IL) ---> (JIT Compiler) Native code.
  9. The classes and data types are common to all of the .NET languages.
  10. We may develop Console application, Windows application, and Web application using C#.
  11. In C#, Microsoft has taken care of C++ problems, such as Memory Management, pointers, etc.
  12. It supports garbage collection, automatic memory management, and a lot.



  1. Pointers are missing in C#.
  2. Unsafe operations such as direct memory manipulation are not allowed.
  3. In C# there is no usage of "::" or "->" operators.
  4. Since it's on .NET, it inherits the features of automatic memory management and garbage collection.
  5. Varying ranges of the primitive types like Integer, Floats, etc.
  6. 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.
  7. "==" is used for comparison operation and "=" is used for assignment operation.


  1. C# has been based according to the current trend and is very powerful and simple for building interoperable, scalable, robust applications.
  2. C# includes built-in support to turn any component into a web service that can be invoked over the internet from any application running on any platform.


  1. C# supports Data Encapsulation, inheritance, polymorphism, interfaces.
  2. (int, float, double) are not objects in java but C# has introduces structures(structs) that enable the primitive types to become objects.
    int i=1;
    string a=i Tostring(); //conversion (or) Boxing


  1. In C# we cannot perform unsafe casts like convert double to a boolean.
  2. Value types (primitive types) are initialized to zeros and reference types (objects and classes) are initialized to null by the compiler automatically.
  3. arrays are zero base indexed and are bound checked.
  4. Overflow of types can be checked.


  1. C# includes native support for the COM and windows based applications.
  2. Allowing restricted use of native pointers.
  3. Users no longer have to explicitly implement the unknown and other COM interfacers, those features are built-in.
  4. C# allows the users to use pointers as unsafe code blocks to manipulate your old code.
  5. Components from VB NET and other managed code languages and directly be used in C#.


  1. .NET has introduced assemblies that are self-describing by means of their manifest. manifest establishes the assembly identity, version, culture and digital signature etc. Assemblies need not to be registered anywhere.
  2. To scale our application we delete the old files and updating them with new ones. No registering of dynamic linking library.
  3. 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 frameworks to be developed and evolved over time.


C# is a modern, type safe programming language, object oriented language that enables programmers to quickly and easily build solutions for the Microsoft .NET platform.

Similar Articles