Version 3.0 is the latest release of dot.net and a much anticipated one from both me and the community. I am going to talk about the major changes in dot.net 3.0 soon. But, first I think it would be prudent to look over this article to see the major changes in dot.net 2.0 over the earlier 1.1.
What was New in .Net 2.0
1. SQL server integration - This was a big change, dot.net 2.0 brought with it a CLR version of SQL server. Thus meaning that the three products .Net Framework 2.0, Visual studio 2005 and SQL Server 2005 were released in unison. This gave all the .NET compliant programming languages unprecedented direct access thru-code to database features like building Stored procedures, triggers and seamless use of DB data types. The new addition of the free SQL server express 2005 replaced the severely limited MSDE.
2. 64-Bit Support - It was a big leap forward when systems changed from 16-Bit to 32-Bit and now to 64-Bit. You can now build your applications in 64-Bit with just a simple options change in the Advanced Build page found under Application Properties. Microsoft worked hard to make sure that anything you built in the 32-bit world would work transparently in the 64-bit one. Moving to 64-Bit gives us some powerful addition like, most important of all, larger address space and larger primitive types. For the earthly folk 2^32 would give 4,294,976,296, while 2^64 will give you the humongous 18,446,744,709,551,616. Probably enough to could all the sand particles on all the beaches or something.
3. Generics - Any modern programmer worth his salt would tell you that generics are the stem cells of programming. With version 2.0 came the support for generics, a powerfull and efficient feature, enabling strongly typed collections. Generics can be applied to Stack, Dictionary, sortedDictionary, List, Queue, user classes, delegates, methods and many more.
4. Anonymous methods - This is a fairly known concept but was absent before .NET 2.0. It is a method to declare fictions that have no names and use them as delegates.
5. Nullable Types - Nullable types were built into the .Net framework 2.0 giving us the valuable feature of creating variables, thru generics, that can have Null values assigned to them. This made interaction with databases values that are null easier too.
6. Iterators - Thru the IEnumerable interface under the System.Collections namespace we can now use foreach on our own custom types and classes.
7. Partial classes - This is a new feature in .Net 2.0 and extensively inter-weaved with languages like C#, VB.Net, Asp.Net. This feature allows us to use the partial keyword before class declarations so that classes can span over multiple files and locations. Some uses are in the Visual studio designer to store all the initialization and property values of your project in a separate file and to implement code behind feature in ASP.Net.
Overall, these are pretty good features and advance .NET up many levels. We will soon see what in new in .NET 3.0 in comparison.