From: http://www.javacamp.org/javavscsharp/namespace.html
Java
包用于组织文件或公共类型以避免类型冲突。包结构可以映射到文件系统。
system.security.cryptography.AsymmetricAlgorithm aa;
可以更换:
import system.security.Crypography;
class xxx { ...
AsymmetricAlgorithm aa;
包没有别名。您必须使用 import 语句或完全限定名称来提及特定类型。
package n1.n2;
class A {}
class B {}
or
package n1.n2;
class A {}
另一个源文件:
package n1.n2;
class B {}
包不能嵌套。一个源文件只能有一个package语句。
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 {}
}
or
namespace N1
{
namespace N2
{
class A {}
class B {}
}
}