Its amazing how undifferent a language can be. I had always theorized as much, but now I'm experiencing it first hand without the safety and controls of a labratory experiment. The concept of source control is largely the same between Subversion and Vault. The language keywords are finite enough to be easily translatable between Java and C#. Many of the libraries from Java also exist in .NET (Spring.NET, NUnit, MemCache, etc.). The biggest difference so far has been the IDE -- Visual Studio 2008 vs. eclipse.
I'm finding many of the features I love in eclipse to be absent in Visual Studio 2008 (or, at least, undiscoverable to me as of yet). For example, what I affectionately call the "God Key" in eclipse (Ctrl+1) -- because it can do anything -- doesn't seem to have an equivalent in Visual Studio. On the other hand, because Microsoft controls so much of the stack things that were frustratingly difficult in eclipse are a breeze. For example, to run my project on a server, I simply click "Run" and its got a local test server all prepped for me. In eclipse, its a nightmare of getting various ports and Server Runtimes all configured correctly (the price of freedom, I suppose).
So far, its been easier than I thought to switch, but this switch has only just begun.