You are able to use C# on the iPhone and iPod Touch. C# is the only .NET language supported right now. It uses MonoDevelop as the IDE for developing but uses the normal Interface Builder that you use from XCode, which is the default development platform for iPhone development. So if you are going ot use MonoTouch, you still need to have a Mac. I purchased a MacMini for my iPhone development. I know, I know, it is not a Microsoft product and I have drank the MS koolaid. I had put off doing this for a while but in reality it is the best way to get an iPhone app developed. It is not the only way but the simplest. Plus normally iPhone apps are written in Object-C. I can safely say that I really dislike Objective-C. C# is so much easier to use for me because I use it all day long and have for years.
Now this is the first version of the system. And on the iPhone you cannot have dynamically linked components. Everything is linked into the executable, so MonoTouch had to do that as well. They also provided a way to call a C library so that you can have things built in Objective-C and used in a C# based product.
Currently they have two versions available, Individual and the Enterprise. This is if you want to do enterprise releases or not. They are talking about an evaluation version soon, but did not get it out when they released. overall it is not a cheap tool for a single person, but if you look at it from the cost of your time, you will easily make it up in the first app that you develop.
Yes, I know that this is a post on iPhone development and I am actually spending alot of time on this myself right now, but it is also using .NET. It shows that .NET is a popular system that people want to use on many different platforms. And this is the first time it is available for the iPhone.