C#中的名稱空間namespace與Java中的包package之間的區別
阿新 • • 發佈:2018-12-12
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