Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#名称空间问题_C# - Fatal编程技术网

C#名称空间问题

C#名称空间问题,c#,C#,以下两种定义名称空间的方法有什么区别 namespace A.B.C { public class AA{ } } namespace A { namespace B{ namesapce C{ public class AA{ } } } } 在一些我可能有的地方 namespace A{ //some classes } namespace A.B { //some

以下两种定义名称空间的方法有什么区别

namespace A.B.C {
     public class AA{

    }
}

namespace A {
    namespace B{
        namesapce C{
            public class AA{

            }
        }
    }
}
在一些我可能有的地方

namespace A{
//some classes 
}

namespace A.B {
//some classes
}

namespace A {
namespace B {
 //some classes
}
}

通过
使用A.B.C.使用AA类,两者都需要做同样的事情我可以使用
C.AA a
要在C名称空间中指定AA类,或者我必须使用fall名称空间约定:
A.B.C.aaa以避免可能的冲突?

它们是相同的。如果您在中查看此代码:

你得到这个:

namespace A.B.C
{
    public class AA
    {
        // Methods
        public AA();
    }
}

这两个方法都编译为完全相同的中间语言代码。

另一个问题是“我可以使用C.AA a;在C命名空间中指定AA类,还是必须使用fall命名空间约定:a.B.C.AA a;以避免可能的冲突?”。据我所知,只有使用alias(使用C=A.B.C)才能实现这一点。
namespace A.B.C
{
    public class AA
    {
        // Methods
        public AA();
    }
}