C# 命名空间(namespace)

C# 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。为了更好地组织类,C# 提供命名空间,用于区别类名的名称。本文主要介绍C# 命名空间(using)。

1、C# 命名空间(namespace)

C# namespace用于区别类名的命名空间。使用namespace来避免名称冲突,并编写更好的可维护代码。

2、常用命名空间

1)基础命名空间

System:处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征。

System.Collections:包含了一些与集合相关的类型,比如列表、队列、位数组、哈希表和字典等。

System.Collections.Generic:定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供更好的类型安全性和性能。

System.IO:包含了一些数据流类型并提供了文件和目录同步异步读写。

System.IO.Comoression:提供基本的流压缩和解压缩服务的类。

System.IO.Ports:控制串行端口的类。

System.Text:包含了一些表示字符编码的类型并提供了字符串的操作和格式化。

System.Reflection:包括了一些提供加载类型,方法和字段的托管视图以及动态创建和调用类型功能的类型。

System.Threading:提供启用多线程的类和接口。

System.Runtime.InteropServices:使得.NET类型可以与非托管代码交互。

2)图形命名空间

System.Drawing:这个主要的GDI+命名空间定义了许多类型,实现基本的绘图类型(字体,钢笔,基本画笔等)和无所不能的Graphics对象。

System.Drawing2D:这个命名空间提供高级的二维和失量图像功能。

System.Drawing.Imaging:这个命名空间定义了一些类型实现图形图像的操作。

System.Drawing.Text:这个命名空间提供了操作字体集合的功能。

System.Drawing.Printing:这个命名空间定义了一些类型实现在打印纸上绘制图像,和打印机交互以及格式化某个打印任务的总体外观等功能。

3)语言集成查询

System.Linq:支持使用语言集成查询的查询。

System.Xml.Linq:包含LINQtoXML的类。

System.Data.Linq:包含支持与LINQtoSQL应用程序中的关系数据库进行交互的类。

3、使用using引入namespace(命名空间)

有很多基础的类库可供选择。在前面的示例中,我们使用了System命名空间中的Console类。该命名空间还包含数学计算、随机数的产生、环境变量、垃圾回收器及其他实用程序类。

引用入命令名空间,需要使用using关键字:

例如,

using System;

4、用户自定义命名空间

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

namespace namespace_name
{
// 代码声明
}

例如:

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//ConsoleApplication就是定义的命名空间
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!!!");
        }
    }
}

5、使用类的全名

在没有使用using引入命名空间的情况下,我们可以使用类的全名,下面示例没有using System; 引入命名空间,但可以使用类的全名System.Consolenamespace_name.item_name):

例如,

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello World!!!");
}
}
}

推荐阅读
cjavapy编程之路首页