JavaとC#の基本的な違いは、内部/ローカル/匿名クラスという点で何ですか?内部/ローカル/匿名のクラスに関して、JavaとC#の基本的な違いは何ですか?
5
A
答えて
8
C#にはJavaの内部クラスと同等のものはありません。Javaの「静的」なネストされたクラスなど、ネストされた型しかありません。
アクセスルールは多少異なります.Javaでは、外部クラスはネストされたクラスのプライベートメンバーにアクセスでき、その逆もあります。 C#では、ネストされたクラスは外部クラスのプライベートメンバーにアクセスできますが、ではなく、の逆です。
C#のは、Javaのような匿名内部クラスを持っていないが、それはは匿名内部クラスは、通常に使用されているものの最もを達成するための非常にクリーンな方法で匿名メソッドとラムダ式を、持っていません。 2つのメカニズムの可変キャプチャは異なります。詳細はmy article on closuresを参照してください。
2
私の考えでは、最大の違いは、(Javaの匿名クラスとC#の匿名メソッド)がどのようにキャプチャを処理するかです。 javaでは、変数の現在の値をキャプチャします(元の値とキャプチャされた値は次に隔離されます)。 C#では、変数自体をキャプチャします。これは二重に裁断され、問題につながる可能性がありますが、正しく使用すると信じられないほど強力です。
関連する問題
- 1. Javaの内部クラスとローカル内部クラスの違いは何ですか?
- 2. Javaの空の匿名の内部クラス
- 3. C#の内部クラスとパブリッククラスの違いは何ですか?
- 4. 匿名の内部クラスのアクセスタイプは何ですか?
- 5. setとdidSetの基本的な違いは何ですか?
- 6. ToString()とConvert.ToString()の基本的な違いは何ですか?
- 7. jobconfとjobの基本的な違いは何ですか?
- 8. アクセスと内部匿名クラス
- 9. フラグメントと基本クラスの拡張の違いは何ですか?
- 10. Javaで匿名の内部クラス内で外部クラスのインスタンスにアクセス
- 11. 匿名内部クラス
- 12. 内部/匿名クラスのベストプラクティス
- 13. この基本的な方法Javaで何が間違っていますか?
- 14. Java:匿名の内部クラスで外部クラスメソッドを呼び出す
- 15. C++の静的な内部関数とC++の静的関数の違いは?
- 16. C++ 0xは匿名の内部クラスをサポートしていますか?
- 17. PHPで使用する匿名関数と匿名関数の違いは何ですか?
- 18. 静的関数を匿名名前空間と外部の間で定義することには何か違いはありますか? C++で
- 19. なぜ匿名クラスは、私は、Javaの匿名クラスが何であるかについての誤解を持っている静的コンテキストで有効
- 20. インターフェイスとクラスに基づく匿名クラスの相違点
- 21. のJavaのenum匿名内部クラスと反射
- 22. 基本的なC#インターフェイスのスコープとは何ですか?
- 23. C#別の匿名クラス内の匿名クラスの配列
- 24. WindowsDXとは何ですか? WindowsGLの意味と基本的な違い
- 25. 行列の乗算とループスルーの基本的な違いは何ですか?
- 26. jTextArea.setText()メソッドとjTextArea.append()メソッドの基本的な違いは何ですか?
- 27. グローバル変数と内部クラスの違いは何ですか?
- 28. Javaでは、匿名の内部クラスを内部でどのように参照できますか?
- 29. Java/Android - 匿名の内部クラスでArrayListを更新
- 30. 私の基本的な電卓には何が間違っていますか?
重複するhttp://stackoverflow.com/questions/521305/why-should-i-learn-c http://stackoverflow.com/questions/325046/java-or-netその他多数 – Welbog
dupe - タイトルを見てください。それは具体的な違いについて尋ねています。私はこのことをより明確にするために質問を編集します。 –
私はこれが「正確な重複」とみなされることはほとんどありません。 –