C#中关键字using的三种使用方法

Using的重要性对于c#来说,就等同于java中的关键字import。但是在c#中,using其实拥有多种功能。


1.      引用命名空间

使用方法:using namespace;

Namespace是所要引入的命名空间的名称。


2.      创建别名

使用方法:Using alias=type| namespace

Alias 是用来表示命名空间或类型的用户定义符号。

Type 是通过 alias 表示的类型。


Example:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text; //using指令的第1个用途

using alias =TestOfUsing2.Class1;//using指令的第2个用途

namespace TestOfUsing1

{

    class Program

    {

        static void Main(string[] args)

        {

            alias obj = new alias();   ;

            obj.display();

        }

    }

}

 

namespace TestOfUsing2

{

    public class Class1

    {

         publicvoid display()

        {

            Console.WriteLine("This is Class1");

        }

    }

}

 

3.      强制资源清理

Using(){}可以为某个类型的对象定义一个范围,该对象只在范围内可以被访问,而在范围之外,就不能被访问了。在此范围的末尾将释放该对象,也就是通过隐式的调用接口IDisposable的Dispose()方法来释放非托管资源。所以被清理的对象必须已经实现了IDisposable接口,不然在调试的时候就会报错,更谈不上什么清理资源了。

在此有必要简单的介绍一下什么是非托管资源:

C#中的资源分成托管资源和非托管资源。由CLR管理分配和释放的内存资源叫做托管资源,托管资源的清理由GC自动处理,并不需要开发者进行编码实现。那些不受CLR管理的内存资源就称为非托管资源,比如文件、数据库连接、套接字、COM对象等,这些对象都包含非托管资源。如果我们使用了非托管资源,那么就需要在程序中释放这些资源。

 

需要指出的是:Dispose()方法并非只能用来释放非托管资源,事实上,它不但可以释放非托管资源,也可以释放托管资源。

 

使用方法:

using (Class1 c = new Class1())   
{    
   //your code  
}
 

Example:

           using (FileStreamfs1 = new FileStream("c:\\html.txt", FileMode.Create),fs2 = new FileStream("c:\\note.txt", FileMode.Create))

            {

                using(StreamWriter sw1 = newStreamWriter(fs1), sw2 = new StreamWriter(fs2))

                {

                    sw1.WriteLine(DateTime.Now.Day);

                    sw1.Flush();

                    sw2.WriteLine(DateTime.Now.Hour);

                    sw2.Flush();

                }

            }

从上面的例子可以看出,using是可以嵌套的;并且可以在using()中定义多个对象,但这些对象必须是同一类型的。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lemon2050

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值