The world of .NET and Web Programming

C# 4.0/BCL 4: What's New Series

Might as well make this a series. I mentioned in the first post, "I have been spending quite a bit of time re-focusing and reviewing C# (and some BCL) fundamentals, with an eye to what's different in C# 4.0/BCL 4.0. The reason for this, is though C# 1.0 was so simple in it's day that it only required a 28 page spec, C#3 and 4 have really gotten away from me such that I'm only making average use of 3.0. I'll write a comparison review of the books I have been using, but for my money, the best and definitive book (as it was in 3.0) is C# 4.0 In A Nutshell (Disclaimer: I was a reviewer for V3 of this book and mentioned in the acknowledgements for this edition as well.

So, it goes something like this:

  1. Framework 4.0: StructuralComparisons Type
  2. Framework 4.0: System.Tuple
  3. More on System.Tuple and Prefer Query Syntax to Loops
  4. BigInteger class
  5. Complex class
  6. New SortedSet collection
  7. C# 4: Dynamic primitive type Part 1
  8. C# 4: Dynamic primitive type Part 2
  9. C# 4: Optional Parameters
  10. C# 4: Named Arguments
  11. Code Contracts
  12. Generics Covariance and Contravariance
  13. Direct support for memory-mapped files
  14. Review: C# 4.0/BCL 4,0 Books
  15. Lazy file and directory I/O methods that return IEnumerable<T> instead of arrays
  16. TPL and PLINQ

Note: I have removed Code Contracts. I don't know what I was thinking. They are too much to tackle here in what is supposed to be short posts. It would take a whole series and Kevin has a 14 part series just for them. I will also have to think about what to tackle in TPL and PLINQ. There's a lot there as well.

» Similar Posts

  1. C# 4.0/BCL 4 Series: StructuralComparisons Type
  2. It's The Runtime Stupid
  3. Writing Maintainable Code

» Trackbacks & Pingbacks

  1. This is part of a series . Another new type in Framework 4.0 os the BigInteger specialized numeric type. It lives in the new System.Numerics namespace and lets you represent an arbitrarily large integer without any loss of precision, Since C# does not

    C# 4.0/BCL 4 Series: BigInteger — May 10, 2010 11:03 AM
  2. This is part of a series . Note: This material is from C# 4.0 In A Nutshell Page 239. Like BigInteger, the Complex struct is another specialized numeric type new to Framework 4.0 and is for representing complex numbers with real and imaginary components

    C# 4.0/BCL 4 Series: Complex numeric type — May 10, 2010 11:33 AM
  3. Pingback from Markus Tamm » Blog Archive » Links 11.05.2010

  4. This is part of a series . I have to admit. I am non-excited about C# 4 features, including the dynamic type. While C# 3, introduced many neccessaary features, especially for LINQ, but very useful in their own right, C# 4 seems more like a solution looking

  5. This is part of a series . C# 4 allows you to declare optional parameters in methods, constructors, and indexers. A parameter is optional if it specifies a default value in its declaration: void Foo(int x = 42) { Console.WriteLine(x); } Optional parameters

  6. This is part of a series . I really should have combined Named Parameters when I wrote about Optional Parameters last time since they are similar and go well together. Again, nothing thrilling here to speak about in C# 4 (especially since VB has had these

  7. This is part of a series . Last time I started talking about the new dynamic type in C# 4, I covered why they were introduced to the language (scenarios), then some deep discussion of how they are implemented with the DLR, call-sites, and bindings, how

  8. This is part of a series . To add to 3.5's new HashSet&lt;T&gt;, there is now SortedSet&lt;T&gt; new in 4.0. Both have the following distinguishing features: Their Contains methods execute quickly using a hash-based lookup They do not store duplicate

Trackback link for this post:
http://samgentile.com/Web/trackback.ashx?id=1903

» Comments

  1. Richard Wright avatar

    I have to agree with you about C# 4.0 in a Nutshell. I haven't read it all but the previous edition is now well worn and I expect this latest edition to be just as useful, And much of the code is available in Linqpad.

    The other almost essential book to an understanding of the framework from a C# perspective is Jeffery Richter's CLR Via C# which has also just been updated to include version 4.

    Richard Wright — May 10, 2010 8:50 AM
  2. Italian translation avatar

    An interesting article but do you know that you have a problem with your navigation bar in Internet Explorer 7?

    Italian translation — July 12, 2010 3:30 PM

» Leave a Comment