c#啥时候有必要用using(代码段)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#啥时候有必要用using(代码段)?相关的知识,希望对你有一定的参考价值。

我说的不是一个cs文件开头的那个using System;等等之类
而是using(代码段)

代码段...

这种

using中声明的对象,在using语句块结束后会自动释放。
比如连接资源SqlConnection,在使用后,需要释放的,有时候会忘记手动释放,虽然.Net的垃圾处理机制会做处理,但是那不可控制,用using(SqlConnection conn = new SqlConnection())

...

以后,但using的语句块执行完毕,conn会自动释放。
参考技术A 定义一个对象生命范围,在范围结束时处理对象。(不过该对象必须实现了IDisposable接口)。其功能和try ,catch,Finally完全相同。
比如:
using (SqlConnection cn = new SqlConnection(SqlConnectionString))......//数据库连接
using (SqlDataReader dr = db.GetDataReader(sql))......//DataReader

在结束大括号处会关闭并释放这个对象
参考技术B 我给你举例看看
这个很好用
using (StreamReader sr=new .....)

比如这个,相当于

StreamReader sr=null;
try

sr=new ...;

finally

sr.Dispose();

会自动释放资源,而且不用涉及终结器,非常好用
代码页简洁
参考技术C 看个人习惯,没有说必须要用using,可以用try,只是代码要长一些, 参考技术D using 实际有多种用法, 每种有其固定的意义

具体的使用方法,我PM你,链接不让发,真是过分啊

vscode用啥符号把某一段代码包起来,类似C#的#region?

这跟vscode无关,取决于你编辑的代码是否支持这种东西,一般极少有语言能支持这种代码,所以基本上是以写注释来标记。 参考技术A 在VS code 中可以使用 region 来进行代码片段化管理,并支持代码折叠功能,具体格式如下:
------------------------------------------------------------------
//#region 代码片段说明
const PI = 3.1415926;
let calCircleArea = (r) =>
//.......

//#endregion 代码片段说明

以上是关于c#啥时候有必要用using(代码段)?的主要内容,如果未能解决你的问题,请参考以下文章

一段反编译后的C#代码段,不知道是啥意思,但是出错。

C#在不同的凭证下运行一段代码

error.log 出现这段代码 是啥意思?

用汇编语言编写程序的时候运行出现out of memory是啥回事?

“Model”是“命名空间”,但此处被当做“类型”来使用,是啥原因导致的哦,这段代码我写

用逆波兰表示法计算算术表达式的值。这段代码有啥错误,只有一个测试用例给了我错误的答案