The way I learned was a class in C#. The assignments and class taught me well. Of course that was the same class the professor docked my on my final project, and had no valid reason (I think I showed him up, my code was more efficent then his ... and when you show up the department head, that's not a good idea).
ddande's post is a good start.
Another suggest. Give yourself a project. I assume you know other languages, if so maybe re-write the program in C# (well at least using the ideas, don't copy/paste).
Or like I have done to teach myself more and more about C#, I constantly write codes to accomplish something (whether it's personal use or for someone else). And then expand my field of comfort to learn new things. If I am not sure how to do something, I Google the idea to see how people have done it in C# (or come to DaniWeb)