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