Java fehlt gegenüber c#:
-Structs, manchmal
will man keinen Referenztyp
-Delegates
-Events
-Properties
-Indexer
-Partial Classes
-Iteratoren mit yield
-Nullable Types
-Zeiger, nützlich zumindest die Möglichkeit zu haben
-Trennung von logischer Struktur den Namespaces und Dateien
-Operatorüberladung
-Anonyme Methoden
-Mehrdimensional Arrays
-Einfache Einbindung von
DLL's (gehört nicht direkt zur Sprache)
Dann kommen zusätzlich noch die ganzen Vorteile des .Net Frameworks dazu.