zoukankan      html  css  js  c++  java
  • Using关键字的使用

    一:using语句

    SqlConnection conn = new SqlConnection(connString);

    try

    {

    conn.Open();

    //……

    }

    finally

    {

    conn.Close();

    }

    在代码中,finally块中调用Close()方法释放连接,确保即使没有异常发生,连接也能被释放。除了使用try-catch-finally语句外,也可以通过使用using语句尽快释放资源

    语法:

    using(SqlConnection conn=new SqlConnection(connString))

    {

    //数据库操作代码

    }

    二 using 语句的两个作用:

    ①:作为关键字,using可以导入命名空间

    ②:作为C#语句,using可以释放对象占用的内存资源

    注:

    using可以让程序员不手动关闭连接对象

    using释放的是托管资源还是非托管资源?

    解析:

    非托管,C#应用托管到.NET Framework.但是他可以释放非托管资源。

    三 using语句原理

    using可以释放对象,但并非所有的对象前都可以使用using来限制

    原因:

    using可以主动释放的对象都需要实现IDisable接口。

    为什么出了using所在的{},会自动回收对象。

    原因是当我们将要出{},系统自动调用了Dispose()方法。

    而在DISpose方法中是这么实现的

    注:Dispose方法会自动调用Close()

     

    要想让一个类型可以通过using管理,该类型或者父类必须实现了IDisposable接口。

     using(SqlConnection con=new SqlConnection)

    {

       //本质上自动调用了Dispose方法

    }

    close()dispose()区别?

    解析:

    close()只是关闭连接,但是通道没有销毁,dispose()不仅把连接给关闭了,而且把通道也给销毁了。

     

  • 相关阅读:
    装饰器
    异常处理与断言
    例子:对象构造函数指定类型传入参数(描述符与装饰器的应用)
    Python的描述符
    全新开始fighting
    函数相关知识
    集合的介绍以及简单方法
    列表,元组,字典类的常见简单方法
    Python简单字符串函数介绍
    聚合函数及分组查询及F&Q
  • 原文地址:https://www.cnblogs.com/WJ-163/p/5473520.html
Copyright © 2011-2022 走看看