C#中的命名空间namespace与Java中的包package之间的区别


Java

包被用来组织文件或公共类型以避免类型冲突。包结构可以映射到文件系统。

System.Security.Cryptography.AsymmetricAlgorithm aa; 

可能被替换:

import System.Security.Crypography; class xxx { ... AsymmetricAlgorithm aa; 

软件包没有别名。你必须使用导入语句或完全限定名称来提及特定的类型。

package N1.N2; class A {} class B {} 

要么

package N1.N2; class A {} 

另一个源文件:

package N1.N2; class B {} 

包不能嵌套。一个源文件只能有一个包语句。

C#

命名空间被用来组织程序,既作为一个程序的“内部”组织系统,也作为一个“外部”组织系统。

System.Security.Cryptography.AsymmetricAlgorithm aa; 

可能被替换:

using System.Security.Crypography; AsymmetricAlgorithm aa; 

或者,可以指定命名空间的别名,例如

using myAlias = System.Security.Crypography; 

然后参考该类

myAlias.AsymmetricAlgorithm 

namespace N1.N2 { class A {} class B {} } 

要么

namespace N1
{
    namespace N2
    { class A {} class B {} } }

from: https://cloud.tencent.com/developer/ask/35308
http://www.javacamp.org/javavscsharp/namespace.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM