LOL i'm sorry to say this, but the framework it uses () has no no suport for USB... it only has an SerialPort component that allows communications with COM ports... very good component, works well with emulated ports, i had an experience with the SerialPort from an PDA's Bluetooth module... But it doesn't have USB or even LPT port support.
This is mainlly because each hardware manufactor develops an diferent driver and thus an diferent API for communicating with their devices... When someone whants to develop an program that works with an USB device on Windows he has to seek info about the USB chip used and get the API to work with... It's very boring actually, i'm bored of just think about it.
...anyhow, you can "wrap" (assign) methods (functions) headers to Dynamic Linked Libraries (DLLs) and use them as if using them with C... but it needs some work, for ex. you would need to define an WORD as being an common Int16, BYTE as a Char... etc...
The good stuff about C# is the .Net Framework, it has many things, like encryption algoritms implementations, IP stack with support for allmost everything that IP can carry...
cool UIs... fast development, integrated garbage collector... many things...