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