If you know C++, your transition to C# will be pretty straightforward as the syntax is largely the same. Still, there are some gotchas that you need to be aware of.
For example, in C++, classes and structs are the same except for the default visibility level (private for classes, public for structs). In C#, classes are reference types while structs are value types.
You will never go wrong with anything Jon Skeet has written on C#. For me, though, I have found Bill Wagner's Effective C# series to be extremely valuable.
As far as all-purpose C# reference books, I really like Andrew Troelsen's book Pro C# 2010 and the .NET 4.0 Platform, now in its fifth edition.