A few months ago I finally made the same switch, and I don't regret it. The few things that took a bit of time to get used to: - A few type conversions that are handled automatically by VB need to be explicit in C#. It does however force you into better programming. - If you are working with forms: Forms are instances of the Form object (well, as they should be in OOP). The default form you get in VB however is static. - If you're working with Visual Studio: use the latest one (2010); in older versions the intellisense felt a bit slower in C# compared to VB (might be just a 'feeling'). Good luck.