<分区>
请看我下面的示例程序。我有两个包含相同 struct
的 namespace 。为了避免在 Main()
中使用时发生冲突,我给命名空间起了别名。从 Main()
调用 struct
时,我可以通过命名空间别名直接调用,例如 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();
}
}