zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    【Python】练习题
    Markdown 常见用法
    程序员个性注释图案
    Class.getResource和ClassLoader.getResource的区别分析
    spring源码分析(二)
    spring源码分析(一)
    加密、解密、公钥,私钥、Https协议
    二叉查找树、红黑树
    HashMap、ConcurrentHashMap
    springIOC
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/10111316.html
Copyright © 2011-2022 走看看