How would I go about, playing with the USB ports with C#? Do I have to use API calls? or does C# have a functionality built in like the Serial Port control.
What are you trying to do with it? Interface directly with hardware?
You might have luck using #usblib (http://www.icsharpcode.net/OpenSource/SharpUSBLib/default.aspx).
Hoping to control a motor with my USB. :-\
USB is much more complicated than a plain serial port and typically involves a microcontroller. If you are doing a DIY electronics project, you would generally be better off with plain RS232.
On Windows, it depends on what you are trying to do. There is an interface for interacting with collections exposed by HID devices (see the HidD* and HidP* APIs in the WDK documentation or on MSDN online). However, "raw" USB communication typically involves a driver to manage communication with the USB stack.
(The library MyndFyre links to uses usblib, which is essentially an NT port of a driver that exposes lowlevel USB to user mode. I would tend to recommend using the native USB stack instead of that for any serious work, although for a one-off it might do the job.)
Thanks
Although not C#, there is now a supported API for interacting with generic USB devices in user mode on modern systems: WinUSB (http://msdn2.microsoft.com/en-us/library/aa476426.aspx). This would be the recommended approach over writing a kernel mode drivers for most situations.