良许Linux教程网 干货合集 讲解一下C# 命名空间(Namespace)

讲解一下C# 命名空间(Namespace)

命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。

我们举一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。

了解下C# 命名空间(Namespace)了解下C# 命名空间(Namespace)


定义命名空间

命名空间的定义是以关键字 namespace 开始,后跟命名空间的名称,如下所示:

namespace namespace_name
{
  // 代码声明
}

为了调用支持命名空间版本的函数或变量,会把命名空间的名称置于前面,如下所示:

namespace_name.item_name;

下面的程序演示了命名空间的用法:

实例

using System;
namespace first_space
{
  class namespace_cl
  {
     public void func()
     {
        Console.WriteLine("Inside first_space");
     }
  }
}
namespace second_space
{
  class namespace_cl
  {
     public void func()
     {
        Console.WriteLine("Inside second_space");
     }
  }
}  
class TestClass
{
  static void Main(string[] args)
  {
     first_space.namespace_cl fc = new first_space.namespace_cl();
     second_space.namespace_cl sc = new second_space.namespace_cl();
     fc.func();
     sc.func();
     Console.ReadKey();
  }
}

当上面的代码被编译和执行时,它会产生下列结果:

Inside first_space
Inside second_space

using 关键字

using 关键字表明程序使用的是给定命名空间中的名称。例如,我们在程序中使用 System 命名空间,其中定义了类 Console。我们可以只写:

Console.WriteLine ("Hello there");

我们可以写完全限定名称,如下:

System.Console.WriteLine("Hello there");

您也可以使用 using 命名空间指令,这样在使用的时候就不用在前面加上命名空间名称。该指令告诉编译器随后的代码使用了指定命名空间中的名称。下面的代码演示了命名空间的应用。

让我们使用 using 指定重写上面的实例:

实例

using System;
using first_space;
using second_space;

namespace first_space
{
  class abc
  {
     public void func()
     {
        Console.WriteLine("Inside first_space");
     }
  }
}
namespace second_space
{
  class efg
  {
     public void func()
     {
        Console.WriteLine("Inside second_space");
     }
  }
}  
class TestClass
{
  static void Main(string[] args)
  {
     abc fc = new abc();
     efg sc = new efg();
     fc.func();
     sc.func();
     Console.ReadKey();
  }
}

当上面的代码被编译和执行时,它会产生下列结果:

Inside first_space
Inside second_space

嵌套命名空间

命名空间可以被嵌套,即您可以在一个命名空间内定义另一个命名空间,如下所示:

namespace namespace_name1 
{
  // 代码声明
  namespace namespace_name2 
  {
    // 代码声明
  }
}

您可以使用点(.)运算符访问嵌套的命名空间的成员,如下所示:

实例

using System;
using SomeNameSpace;
using SomeNameSpace.Nested;

namespace SomeNameSpace
{
   public class MyClass
   {
       static void Main()
       {
           Console.WriteLine("In SomeNameSpace");
           Nested.NestedNameSpaceClass.SayHello();
       }
   }

   // 内嵌命名空间
   namespace Nested  
   {
       public class NestedNameSpaceClass
       {
           public static void SayHello()
           {
               Console.WriteLine("In Nested");
           }
       }
   }
}

当上面的代码被编译和执行时,它会产生下列结果:

In SomeNameSpace
In Nested

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部