请参阅我下面的示例程序。我有两个名称空间包含相同的struct
. 为了避免在使用 in 时发生冲突Main()
,我给了命名空间别名。在调用struct
fromMain()
时,我可以通过命名空间别名直接调用,例如test.MyStruct
. 我还有另一个使用::
运算符的选项,例如test::MyStruct
.
为什么::
需要运算符,我应该在哪里使用它而不是别名?
using System;
using test=counter;
using duplicatecounter;
namespace counter
{
struct MyStruct
{
}
}
namespace duplicatecounter
{
struct MyStruct
{
}
}
class Program
{
public static void Main()
{
test.MyStruct a = new test.MyStruct();
test::MyStruct a1 = new test::MyStruct();
}
}