using关键字在C#中主要有两个用途:
1.引用命名空间,以减少输入 如 using System.Text;
2.为命名空间创建别名 如 using Project = PC.MyCompany.Project;
具体见:http://msdn.microsoft.com/zh-cn/library/sf0df423(v=VS.80).aspx
3.用于在限定范围结束后自动释放资源,如自动释放数据连接、事务句柄等
这种用法常常在数据库的连接语句中应用到
4.还有一种就是用try catch finally的格式(using的语句十分简洁而且在using中不用再写close,而try catch finally格式要在最后的finally中关闭连接conn.Close())
其含义具体见:http://msdn.microsoft.com/zh-cn/library/yh598w02(v=VS.80).aspx
页面下方的:using语句的本质就:using语句实际上生成的IL代码中是一个try, finally代码块,在finally代码块里释放资源。
这些里面可能会出现一个conn.Dispose(),它和conn.Close()是有区别的
如:
conn.Open()
conn.Close()
conn.Open()//这是可以的
-----------------------
conn.Open()
conn.Close()
conn.Dispose()//出错
可见dispose就是将conn毁掉,不能再用
对于是using还是try-catch-finally,可以参见:
综上可得:
using语句简洁;
推荐使用using,需要try catch finally的时候也可以用
#warning与#error的区别!
#warning在编译器中运行时! 产生警告信息! 给用户显示#warning后面的文本,之后继续编译!
#error在编译器中运行时! 产生错误信息! 给用户显示#error后面的文本,之后退出编译!