If you know any c/c++, then you should have a fairly good understanding of how basic c# will work (syntax, classes, inheritance, variable scope, etc). If you have a good understanding of OOP you will be fine, if not, you will get lost easily. I think the biggest issue, outside of the things mentioned above, would be learning the .NET framework and all that it has available.
http://msdn2.microsoft.com/en-us/lib...,MSDN.10).aspx is an overview of the framework.
http://msdn2.microsoft.com/en-us/library/ms306608.aspx is a detailed outline of all the classes that are in the framework.
Honestly, there isn't anything I've come across that I had to do in c#/vb.net that can't be done with the framework. There are other 3rd party classes/dlls that make things easier (charting, etc), but those are just wrappers around the framework.