1. Interoperability support
You can easily migrate from any programming language to the.net with an ease. You will find it really easy to migrate if you are from COM or java. In fact the Microsoft has the migration utility to automatically migrate existing java code into that of C#.
2. Common Language Runtime (CLR)
3. Base Class Library
Can you guess why java appears to be so versatile and cross platform independent? Yes if you have guessed the class library then you are absolutely right. However you will find it really great how it is implemented in the .net technology. It has moved a step further by making them available for all the languages. With them you are now capable of using features like string manipulation, exception handling, remoting, collection management construct in the same way for all the languages that are supported by the CLI.
4. Common type system( CTS)
You will really be amazed when you will come to know that the data types remain the same as far as all the languages supported by the ClI is concerned.
5. Easy deployment technique
The applications can now be deployed easily with just the help of XCOPY of the assemblies, asp.net files and configuration file. There is no more the need of the DLL.
6. Improved web services
With the implementation of Web technologies like ASP.NET you will definitely find that you can now develop more advance and powerful web application.