Was sind die grundlegenden Unterschiede zwischen Java und C# in Bezug auf innere/lokale/anonyme Klassen?Was sind die grundlegenden Unterschiede zwischen Java und C# in Bezug auf innere/lokale/anonyme Klassen?
Antwort
C# hat nicht das Äquivalent von Java inneren Klassen - es hat nur verschachtelte Typen (wie Javas "statische" verschachtelte Klassen).
Die Zugriffsregeln unterscheiden sich leicht - in Java hat eine äußere Klasse Zugriff auf die privaten Mitglieder der geschachtelten Klasse und umgekehrt. In C# hat die geschachtelte Klasse Zugriff auf die privaten Mitglieder der äußeren Klasse, aber nicht umgekehrt.
C# nicht über anonyme innere Klassen wie Java, aber es tut anonyme Methoden und Lambda-Ausdrücke hat, die ein viel sauberer Weg zu erreichen meist was anonyme innere Klassen werden in der Regel verwendet. Die Variable Capture für die beiden Mechanismen ist unterschiedlich - siehe my article on closures für weitere Details.
In meinen Augen ist der größte Unterschied, wie sie (anonyme Klassen in Java vs anonyme Methoden in C#) erfassen erfasst. In Java erfasst es den aktuellen Wert der Variablen (der ursprüngliche und erfasste Wert wird dann isoliert). In C# erfassen Sie die Variable selbst. Dies ist zweischneidig und kann zu Problemen führen - ist aber bei richtiger Anwendung unglaublich leistungsfähig.
- 1. Was sind die grundlegenden Unterschiede zwischen Set und Didset?
- 2. Was sind die Unterschiede zwischen Perl und Java Regex-Funktionen?
- 3. Was sind die Unterschiede in JIT zwischen Java und. NET
- 4. Was sind die Unterschiede zwischen C und C++ Aufrufkonventionen?
- 5. Was sind die Unterschiede zwischen JVisualVM und Java Mission Control?
- 6. Was sind die Unterschiede zwischen ibm jdk und oracle jdk?
- 7. Was sind die Unterschiede zwischen LLVM und Java-Bytecode?
- 8. Was sind die größten Unterschiede zwischen fopen und curl?
- 9. Was sind die Unterschiede zwischen Model, ModelMap und ModelAndView?
- 10. Unterschiede zwischen Java und C# und .NET
- 11. Was sind die aktuellen Unterschiede zwischen jQuery und Prototype?
- 12. Was sind die Unterschiede zwischen & und &&, | und || in R?
- 13. Was sind die Unterschiede zwischen R.styleable, R.style und R.attr?
- 14. Was sind die grundlegenden Unterschiede zwischen einer Instanz und einem Objekt der Klasse?
- 15. Was sind die Unterschiede zwischen Karma Reportern?
- 16. Was sind die Unterschiede zwischen cElementtree und ElementTree?
- 17. Was sind die Unterschiede zwischen zweien?
- 18. Was sind die Unterschiede zwischen Brillengläsern und Reißverschlüssen? Diese
- 19. Was sind die Unterschiede zwischen HasOne und Referenzen in Nhibernate?
- 20. Was sind die Unterschiede zwischen ADOdb und PDO in PHP?
- 21. Was sind die Unterschiede zwischen ConcurrentQueue und BlockingCollection in .Net?
- 22. Was sind die Unterschiede zwischen Funktionen und Subroutinen in Fortran?
- 23. Was sind die Unterschiede zwischen [Serializable] und [Serializable()]
- 24. Was sind die Unterschiede zwischen Vanille Perl und Strawberry Perl?
- 25. Was sind die Unterschiede zwischen g ++ Version 4.0.0.8 und 4.3.2?
- 26. Was sind die Unterschiede zwischen JSP und Facelets?
- 27. Was sind die Unterschiede zwischen Boo vs Nemerle?
- 28. Unterschied zwischen C und C++ in Bezug auf den „^ =“ Operator
- 29. Unterschiede zwischen Request-Klassen
- 30. Was sind die Unterschiede zwischen Kill-Prozess und Close-Prozess?
Duplizieren von http://stackoverflow.com/questions/521305/why-should-i-learn-c http://stackoverflow.com/questions/325046/java-or-net und viele andere – Welbog
Es ist nicht ein betrügen - sieh dir den Titel an. Es fragt nach bestimmten Unterschieden. Ich werde die Frage bearbeiten, um dies klarer zu machen. –
Ich denke kaum, dass dies ein "genaues Duplikat" ist. –