Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The question isn't 'whether you should',-- in terms of features and added compile-time checks; it's almost a given to get out of the 1.1 framework and into the 2.0 framework. The question is, how fast should you port? What would need to be changed? </p> <p>Your first step would be to port your application to .NET 2.0. The reason is is that there are plenty of features in .NET 2.0 that didn't exist before, and previous features were deprecated. (In ASP.NET, there were a slew of features deprecated in 2.0). </p> <p>.NET 2.0 allows for stronger type-safety, nullable types, and changes in the framework. 2.0 represents (what I would consider) the first 'real' release of the .NET platform. It is a serious contender, and you'll find that some of the framework stuff you use in 1.1 has been modified in 2.0.</p> <p>It's not a simple 'port the code forward and get the benefits' scenario. If you want the benefits, you'll have to rewrite some code (most notably, things involving Generics); but even in the larger .NET framework, there are so many 'behind the scenes changes' that you'll want to port it incrementally: <b>Don't make the jump directly from 1.1 - 3.5.</b></p> <p><b>1.1 - 2.0</b></p> <ul><li><a href="http://msdn.microsoft.com/en-us/library/512aeb7t(VS.80).aspx" rel="noreferrer">Generics</a> <br /><li><a href="http://www.yoda.arachsys.com/csharp/csharp2/#static.classes" rel="noreferrer">Static Classes</a> <br /><li><a href="http://www.yoda.arachsys.com/csharp/csharp2/nullable.html" rel="noreferrer">Nullable Types</a> <Br /><li><a href="http://www.yoda.arachsys.com/csharp/csharp2/iterators.html" rel="noreferrer">Yield Operator</a> <br /><li><a href="http://www.yoda.arachsys.com/csharp/csharp2/#property.access" rel="noreferrer">Property Access Modifiers</a> <br /><li><a href="http://www.yoda.arachsys.com/csharp/csharp2/#partial" rel="noreferrer">Partial Types</a> <br /><li><a href="http://www.yoda.arachsys.com/csharp/csharp2/#alias" rel="noreferrer">Aliases</a> </ul> <p>There are a slew of changes between .NET 2.0 and .NET 3.0. There was an entire paradigm shift. (Though admittedly it is a voluntary shift). <a href="http://en.wikipedia.org/wiki/.NET_Framework#.NET_Framework_3.0" rel="noreferrer">Wikipedia</a> has an entire section devoted to it, but I'll (some!) of the changes here:</p> <p><strong>.NET Framework changes</strong></p> <ul> <li>Windows Presentation Foundation (WPF)</li> <li>Windows Communication Foundation (WCF)</li> <li>Windows Workflow Foundation </li> <li>Windows CardSpace</li> </ul> <p><strong>C# Changes</strong>:</p> <ul> <li><a href="http://en.wikipedia.org/wiki/LINQ" rel="noreferrer">LINQ</a></li> <li>Object Initalizers</li> <li>Collection Initalizers</li> <li>Anonymous Types</li> <li>Lambda Expressions</li> <li>Automatic Properties</li> <li>Extension Methods (Source: <a href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Features_of_C.23_3.0" rel="noreferrer">Wikipedia</a>)</li> </ul> <p>More to come, obviously. Just the jump from 1.1 to 2.0 is worth an entire release cycle.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload