C using是什么意思,C#编程中using(){}有什么作用?

2021-01-26 11:20:40 字数 4770 阅读 6133

1楼:匿名用户

表示执行完{}里面的**之后会自动释放括号内的**资源。

用于连接数据库的多。。

这样的话就可以不用写**去关闭数据库连接了。

2楼:匿名用户

声明变量作用域

完整的应该为using(类名 名 = 赋值){}相当于:

即可用于满足 idispose接口的类 ,可以通过这种形式,即使错误时候,也能使 .dispose() 运行

3楼:匿名用户

举个例子你就知道了。

如果你在执行花括号里面的内容时,发生了异常,那么编译器会帮助你释放掉你的using语句中的资源。

using语句里面的**也可以不用using(),但是发生异常的时候不会释放该资源。

示例:using (sqlconnection conn=new sqlconnection())

c#编程中using(){}有什么作用?

4楼:匿名用户

这个用处大了去了,在using ()中新建的对象,比如你这里的conn,会在{}结束的时候自动关闭和释放,不需要你手动进行。

5楼:幻☆天芒

using 相当于引用。

如果你那样用using的话,只要引用结束的话,就会直接销毁。所以就不用再去关闭了。

6楼:匿名用户

because when using statment closes, then everything inside of it will be closed too.

keep the connection open until you don't need it

c#里的using语句是什么意思

7楼:依岚软件

使用using语句最终生成的其实是一个try, finally**块,在finally**块里释放资源。要求是:为 using 语句提供的对象必须实现 idisposable 接口。

此接口提供了 dispose 方法,该方法将释放此对象的资源。

你的问题其实可以这样解释:

在using中其实打开了一个数据库连接,然后从数据库中读取了某些数据,最后不管读取是否成功,都应该把这个数据库连接关闭掉。

传统的写法应该是在try块里打开连接并且读取,在finally块中把连接关闭掉,而由于你的sdr对象实现了idisposable接口,所以c#允许你用using语句来代替这种写法,其实这就是一种语法糖,一种简便写法而已。

当程序运行完这个**块(超出大括号的范围)后,sdr就会被自动关闭掉。

8楼:华华兮

就对于你上面这句话而言,因为数据库open之后,最后一定要close,即在**最后写conn.close();但是用了using语句后,当执行完using语句中的**,退出using语句时,close()方法会自动帮你执行,把数据库连接关闭。方便了**的书写和以免程序员忘记关掉数据库连接。

9楼:匿名用户

using 引入名称空间或者使用非托管资源其中引入名称空间通俗的说

就是我们程序中最顶部的**

如:using system;

楼主取的例子应该是使用非托管资源,

我们一般使用的是托管资源,不用后系统会自动释放内存,而有些我们自己定义的非托管资源就需要我们手动的去释放空间

10楼:匿名用户

c# 程序员参考

using 语句请参见

c# 关键字 | using 指令 | 实现 finalize 和 dispose 以清理非托管资源

using 语句定义一个范围,在此范围的末尾将处理对象。

using (expression | type identifier = initializer) statement

其中:expression

希望在退出 using 语句时调用 dispose 的表达式。

type

identifier 的类型。

identifier

type 类型的名称或标识符。定义一个以上 type 类型的 identifier 是可以的。在每一个 identifier = initializer 的前边都有一个逗号。

initializer

创建对象的表达式。

statement

嵌入的语句或要执行的语句。

备注在 using 语句中创建一个实例,确保退出 using 语句时在对象上调用 dispose。当到达 using 语句的末尾,或者如果在语句结束之前引发异常并且控制离开语句块,都可以退出 using 语句。

实例化的对象必须实现 system.idisposable 接口。

11楼:匿名用户

2楼找到资料对的,你要知道像文件,数据库连接这些是非托管资源.***不会自动去释放他们,一般需要你手动关闭。当使用using时,如果对象实现了system.

idisposable接口,他就会在使用完释放掉。

12楼:朝夕相处

1.using语句:定义一个范围,将在此范围之外释放一个或多个对象。

2.语法:

using (font font1 = new font("arial", 10.0f))

3.c# 通过 .*** framework 公共语言运行库 (clr) 自动释放用于存储不再需要的对象的内存。

内存的释放具有不确定性;一旦 clr 决定执行垃圾**,就会释放内存。但是,通常最好尽快释放诸如文件句柄和网络连接这样的有限资源。

4.using 语句允许程序员指定使用资源的对象应当何时释放资源。为 using 语句提供的对象必须实现 idisposable接口。

此接口提供了 dispose 方法,该方法将释放此对象的资源。

5.可以在到达 using 语句的末尾时,或者在该语句结束之前引发了异常并且控制权离开语句块时,退出 using 语句。

13楼:匿名用户

相当于局部变量,在{}的对象会自动释放

不用调用相关的dispose()方法

c#中用using()是什么概念啊。

14楼:匿名用户

using 一个对象的话,这个对象必须继承idispose接口

在离开{}

的时候,会调用该对象的dispose方法

15楼:匿名用户

好吧,我简单说,using一般有两个用法,一个是引入命名空间,第二个则是保证程式无论在什么情况下都能正常退出!楼主的例子就是第二种,详细用法0分我就不说了,自己去微软看看吧,vs的帮助也可以!

16楼:匿名用户

又是0分问这种基础问题的,好像别人都像你一样闲的没事干似地,因为自己的懒惰而浪费别人的时间,你好意思

msdn上写的清清楚楚,问问题前先自己查下

17楼:巫素芹拜君

楼上的用.***吧,这个是说你的程序使用了系统的命名空间,比如说你再家一个using

system.data说明使用了data子空间,在你编写不同的程序的时候要使用到不同的空间。

c#中的using(){ }**块是什么意思?

18楼:匿名用户

http://msdn.microsoft.***/zh-**/library/yh598w02.aspx

using 语句(c# 参考)

提供能确保正确使用 idisposable 对象的方便语法。

using (system.io.streamreader sr = new system.

io.streamreader(@"c:\users\public\documents\test.

txt"))

}其实专就是多加了try块和finally块上去属

19楼:匿名用户

小括号里new 的对像,在大括号里的源代bai码执行完毕后一定释放du,比如你用zhi(form f=new form())

一闪而过,或闪都不dao闪就过了,原因就是执行完大括号里的f.show()后f释放了

20楼:匿名用户

使用()里面的东西

来做{}里面的事

就好像你必须要在()里放几块钱

才能在 里买到东西一样

21楼:匿名用户

trycatch

就是比如你打开数据库或者访问文件等时候需要打开资源,这个时候你要用using包括资源声明那么clr会为你自动生成try语句防止内存无法收回。

22楼:

在using里的变量只在using里有效................会自动释放

23楼:匿名用户

就是用using()括号里面的东西来做{}大括号里面的事

24楼:匿名用户

red_guitar

同意 高级编程中又讲过

25楼:

看看bai官du方zhi的dao说回法答

http://msdn.microsoft.***/en-us/library/yh598w02.aspx

C读写文件时using是什么意思

1楼 叫什么呢嫩 1 因为像 streamreader sqlconnection等非 托管的范围,没办法自己释放资源,所以需要using进行手动资源释放,如果超出了花括号的范围,那资源就被释放了 2 除了用using,也可以用try catch finally 3 如果不释放资源的话 电脑长时间运...

c++程序中是什么意思,在c++语言中,^是什么意思

1楼 apple林 按位异或 c 提供了六种位运算运算符 这些运算符可能只允许整型操作数,即char short int和long,无论signed或者unsigned。 按位and 按位or 按位异或 左移 右移 求反 一元运算 2楼 申江渔夫 通过将符号 放在类型名称的后面来指定该类型的句柄 3...

C语言中这段程序是什么意思,C语言程序中break是什么意思?

1楼 金色潜鸟 这段程序是构建一张黑白棋盘位图。即,横向每8格为一段,黑白交替,竖向也是 每8格为版一段,黑白交替。 i 0x8 即取权 2进制i值的 右数第三位,j 0x8, 取 2进制j值的 右数第三位 然后2者做 异或 运算, 0 0 0 1 0 1 0 1 1 1 1 0 。 数值 0 为黑...