I know what you mean about C# and Microsoft, (that is, I prefer to work on systems which are cross platform). However I've used C# for many years and it's not really like Java once you get into details. Some notable differences:
1) Generics are properly reified (ie. they are real distinct types).
2) Has value types (though through the surprise when you realize struct != class).
3) Code feels less like running on a VM and more like compiled code (and compiles fast)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.