Hi, Neil.
>I think the concept of .NET at a lower level (not at the language semantics) is probably more Java based, and C# certainly would look that way but only in as much as Java heritage is from C++. Think about it, the whole concept of managed runtimes (sandboxing etc.) has been around for decades and if I where MS I would be stupid to ignore whats gone before me, especially Java. However from a language standpoint I would be equally stupid to ignore the fact that the company and its products are predominantly C/C++, why would you choose language semantics that don't help your thousands of C/C++ developers adopt the managed world?
Consider also that C# is mostly a design from Anders Hejlsberg, who was the designer of both Turbo Pascal (a p-code precursor) and then Delphi, which from an architectural standpoint (not coincidentally) has lots of similitudes, too, although syntactically it comes from Pascal. Once he joined Microsoft, he worked on the J++ team, so it is not surprise that C# has such an influence, but I don't think it is the main one.
J# is definitively a Java language implementation (although it can't be considered a Java environment, of course).
Regards,