Well, you obviously know about XNA being an option. Your other main option would be DirectX - being a Microsoft supported product there's C# support for it (C# being a .net/Microsoft language). The only real drawback you get in XNA is that you don't have access to the advanced shaders and features of DX10 since XNA makes itself DX9 compatible so that it is compatible with the Xbox 360 - although unless you're planning on working with cutting edge 3D graphics that's not really a problem. That leads into the major advantage of XNA though - that you can create something for the 360 (which has a marketplace you can easily upload your finished game to). From what I understand, the XNA environment has a managed game loop and a few other features that make it easier to get started than DX, but it's not that far removed from programming directly with DX (at least graphics wise since XNA is a total framework that acts in place of other APIs that you might need). XNA basically uses DX9 as its base API with some modifications to ensure 360 compatibility.
I'm currently working on a project in XNA, and while I'd like to make something in DX eventually for the experience, I don't have any qualms about XNA. I've enjoyed the fact that it's not too difficult to get into, but it seems fully capable of handling nearly anything you could do with just DX or OpenGL. After this project I'd like to focus on advanced shaders so that I can produce effects like this:
http://bfhoig.blu.livefilestore.com/y1p ... ection.jpg
I'd also like to build my own physics framework (being a guy who likes the math and physics side of things)... actually I'll probably start working on this before further pursuing shaders. I want to be able to use it for school this fall since I find being able to create models for concepts helps me better understand them.
That was a bit off on a tangent, but I mentioned it because XNA is a great tool for all levels of expertise - especially if you're doing a project solo.
One more option that I just found: OpenGL. I didn't realize that it was an option for C#, but apparently it is. The main advantage of OpenGL is that it is cross-platform for nearly everything (except 360 funny enough). Unless you're working on a heavily polished game there's little chance of getting it up on a marketplace of any sort, but if that's not your intent (it's one of the appeals of XNA) then OpenGL would definitely be another option. OpenGL is also what the Elysian Shadows team is using for their graphics API.