I also came from C # background and have been working with the iPhone SDK since beta 2. I completely agree that VSK is a bit awkward compared to Xcode. Xcode WAY is different and completely alien when you start using it. So it was VS, although on the same day. After you complete the training course, this is a wonderful experience. The applications I'm developing use the server side of C # (web service), and I absolutely don't want to switch to VS to write web service code from Xcode. Obj-C is also very fun to use when you learn how it works best: delegates (very different from .NET delegates), messages, categories, and all the other quirks.
I used some Java and Flex programming before .NET, and I always hated .NET docs compared to Java docs. They just don't cut. I personally found the Xcodes docs and search engine to be nothing short of awesome. There are many PDF manuals related to documents that contain tons of sample code. Think about it: The iPhone SDK has been out of beta for about 2 months. Documents show maturity for many years. And yes, this is because Obj-C has been around for more than a year, and the framework is similar.
All in all, the biggest problem I discovered is that there are many .NET developers who are jumping onto the winner iPhone and trying to use Obj-C as if it were C # or VB. They can't read the basic Obj-C docs, let alone the docs of the iPhone, and then they get very upset and end up failing. Discussion forums are full of this scenario. Programming an iPhone is not easy. Learning a new language is not easy. It takes time and a lot of try.fail.try. This is not .NET, so lose that mood before you get started and everything will be great.
user19087
source share