C# 命名空间 Namespace (学习心得 23)

命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。

超级小白友好,讲解C#基础,每集5分钟轻松学习,拒绝从入门到放弃!

一、定义命名空间

关键字 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。

所以 using System 之后,可以只写:

Console.WriteLine ("Hello there");

否则需要写完整:

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

例:

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(); // 访问 Nested 命名空间中的类 的 方法
        }
    }

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

运行结果:

In SomeNameSpace
In Nested
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值