手记

C#中的命名空间namespace使用方法

最近在学C#,一直有个疑惑。
当你使用IDE V.S.创建一个新工程后,总是会使用namespace来将除using其余的所有代码全部包裹起来。

using System;
namespace ConsoleApplication1
{
   class Program
   {
      static void Main(string[] args)
      {
      }
   }
}

嗯?这里的命名空间是干啥用的?

using System;
class Program
{
    static void Main(string[] args)
    {

    }
}

我这样写IDE也没报错啊。
但是你再写一段:

using System;
class Class1
{
    static int i = 2;
    static class Class2
    {
        static int i = 3;
    }
    static void Main(string[] args)
    {
      Console.WriteLine(i);
      Console.WriteLine(i);
    }
 }

这里有问题。输出了2次Class1的i值,与我想要的不同。
怎么办呢?

using System;
namespace pro1
{
    class Class1
    {
        public static int i = 2;
    }
    namespace pro2
    {
        class Class1
        {
            public static int i = 2;
        }
        class Class2
        {
            static void Main()
            {
                Console.Write(pro1.Class1.i);
            }
        }
    }
}

这时候命名空间就有用了,它为变量提供了一个空间。
相当于城市里的工厂,举个例子:
城市1里面有个工厂叫富土康里面有个工人叫张全蛋。
城市2里面也有个工厂富土康也有个工人叫张全蛋。
他们虽然名字,工厂一样,但他们的城市不一样。
把这两个人叫在一起,他们也还是两个人,长的样子都不一样。
因此namespace的意思就是提供了一个空间,可以存放工厂,等等...

namespace是与using相对应的两个代码。
我们所视的“using System;"其实是在**引用***System这个命名空间下的代码。

7人推荐
随时随地看视频
慕课网APP