Getting Started with .NET / C# 4.0
Every once in a while, I get asked if I have any suggestions as to how to get started with .NET/C# development. Generally, the person asking has a good background in programming and design. In order to really use a language and library, though, you want to know which concepts and patterns are used in a language as well as what those patterns are called, how to use them and so on. If you don’t know what’s already available, you end up reinventing the wheel or doing things in an inefficient way.
Generally, you can find information about many of these topics at Microsoft’s MSDN documentation or you can search for articles on working with them. Just remember to always look for existing functionality in the .NET framework or the Quino framework—only if you have the pleasure of working with it, naturally—or by searching for solutions online. A good place to look for such solutions is Stack Overflow.
- Type Conversions in C#
- What’s the Opposite of “nullable”?
- The power of yield (return)
- Lambdas and Closures and Currying. Oh my! (Part 1) (CodeThinked) (the first in a 9-part series of articles)
- Threading in C# (this is actually chapter 22 of C# 4.0 in a Nutshell)
- Reflection (accessing language metadata at runtime)
- Memory / Unmanaged / Binary
Linq/RxGenericsCode Contracts / Design by Contract
- Reading binary data in C# by Jon Skeet
- Reading Unmanaged Data Into Structures
- Memory Model, Memory Barrier and Singleton Pattern in .NET
- Weak Events in C# (This article deals with the “Weak References Problem” common to all garbage-collected environments.)
- IDisposable: What Your Mother Never Told You About Resource Deallocation
- Fabulous Adventures In Coding by Eric Lippert (one of the authors & maintainers of the C# compiler and an all-around clever guy when it comes to algorithms and programming)
- Jon Skeet’s C# and .NET articles and links
- Encodo C# Handbook
- As mentioned above, if you have the pleasure of working with the Quino framework—there’s the official Quino documentation (password-protected for now).