当前位置:首页 > C#学习 > 正文内容

Dispose和Close区别.

小道6年前 (2018-08-28)C#学习3141

Dispose和Close区别:

            SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDBFilename=|DataDirectory|\Database1.mdf;integrated Security=True;User Instance=false");
            conn.Open();//打开数据库
            /* ...写上执行的语句...*/
            conn.Close();//关闭数据库。下面可以在 使用 conn.Open();//重新打开数据库
            conn.Dispose();//销毁数据库连接,下面无法在使用 conn.Open();//重新打开数据库。


Close:可以比喻为一个商店停业整顿,但可以通过整改重新开放。商店还是那个商店,营业执照什么的都可以用。

Dispose:是破产,营业执照什么的都注销了。想要重新开放。只能重新注册营业执照什么的,重头开始。

Close是临时关门Dispose是直接破产。


为什么直接用using?


using是为了出了作用域以后系统自动调用Dispose,Sqlconnection、FileStream等的Dispose内部都会做这样的判断,判断是否有Close,如果没有Close就先Close再Dispose。


比如不是用using。在执行过程中出现错误,无法执行到Close和Dispose语句,就无法释放连接。而使用using如果发生错误,退出了using作用域就自动释放了链接。

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://www.daobk.com/post/83.html

分享给朋友:

“Dispose和Close区别.” 的相关文章

while语句:输出1~10个数。do...while语句:输出1~10个数。

while语句:输出1~10个数。do...while语句:输出1~10个数。

while语句:输出1~10个数。            int s = 0;//定义一个整型变量     ...

while语句:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出(return)。

while语句:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出(return)。

while语句:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出(return)。            Console.WriteLine("...

定义类:一个类可有有多个实例。

定义类:一个类可有有多个实例。

一个类可有有多个实例。类就是把一系列相关的变量(状态)、行为定义为一个整体。字段记录的就是这个对象相关的数据。    class Program     {     ...

面向对象版聊天机器人

面向对象版聊天机器人

机器人有不同的名字、维护自己的FullLevel,可以SayHello(我叫***),可以喂食(Eat(int foodCount)),可以对它说话(Speak),对异常情况(错误的喂饭数字,喂的太多撑死了)进行处理,有两个机器人供选择,一开始通过1、2数字选择聊天机器人。  &...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。