The range of features in C# 2 is very broad??”the designers tackled many of the
areas where developers were feeling pain, without any one overarching goal. That??™s
not to say the features don??™t work well together??”nullable value types wouldn??™t be feasible
without generics, for instance??”but there??™s no one aim that every feature contributes
to, unless you count general productivity.
Now that we??™ve finished examining C# 2, it??™s time to move on to C# 3, where the
picture is very different. Nearly every feature in C# 3 (with the exception of partial
methods, which we??™ve covered in this chapter) forms part of the grand picture of
LINQ, a conglomeration of technologies that could well change the way traditional
programmers think??”forever.
Part 3
C# 3??”
revolutionizing
how we code
There is no doubt that C# 2 is a significant improvement over C# 1. The benefits
of generics in particular are fundamental to other changes, not just in C# 2
but also in C# 3. However, C# 2 was in some sense a piecemeal collection of features.
Don??™t get me wrong: they fit together nicely enough, but they address a set
of individual issues. That was appropriate at that stage of C#??™s development, but
C# 3 is different.
Almost every feature in C# 3 enables one very specific technology: LINQ.
Many of the features are useful outside this context, and you certainly shouldn??™t
confine yourself to only using them when you happen to be writing a query
expression, for example??”but it would be equally silly not to recognise the complete
picture created by the set of jigsaw puzzle pieces presented in the remaining
chapters.
Pages:
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399