学习笔记:
在c#中Using有三种用法。
一:
第一种是*.cs中最常用的方法,就是引用命名空间,格式为:using + 命名空间名字。例如:
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
这些都是使用using引入的命名空间,system的意思是系统(使用的集成环境)自带的,无需自己定义,直接引用进来使用即可。当然也可以引用自己的定义好的命名空间,方法同上。
二:
使用using别名:
格式为:using 别名 = 包括详细命名空间信息的具体的类型。
using FirstClass = NameSpace1.TestClass;
using SecondClass = NameSpace2.TestClass;
通过网络资料的查询了解到:
这种做法的好处在于当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。
注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的。
三:
using语句的使用:
using (SqlConnection con = new SqlConnection(strCon))
{
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("SELECT No AS 员工编号, Name AS 员工姓名," +
" Salary AS 基本工资, Evaluation AS 工作评价 FROM tb_Personnel ORDER by No", con);
da.Fill(dt);
this.dgvStaffInfo.DataSource = dt.DefaultView;
}
在这个代码段中使用了using语句,它的作用是当使用SqlConnection类的实例时无论什么原因,离开这个代码段就自动调用SqlConnection类的Dispose。使用try……catch也能达到同样的目的,但是using更为方便一点。也可以这样理解:using(SqlConnection con = new SqlConnection(strCon))这句代码的意思是控制对于数据库的关闭和释放,如果是其他的内容也是同理。using()这一句执行完毕后,通过数据适配器SqlDataAdapter da = new SqlDataAdapter(“SELECT No AS 员工编号, Name AS 员工姓名,” +
" Salary AS 基本工资, Evaluation AS 工作评价 FROM tb_Personnel ORDER by No", con)中的con对数据库进行连接上,在接下来的代码段中可直接对数据库中的数据进行相关的操作。在这段代码段中,如果某一句发生异常,using的作用就会使程序的执行直接跳过这段,并且关闭using()括号中的实例。在本代码中,如果using下的代码段产生错误,直接结束整段using下的代码,并且关闭数据库并释放资源。类似于try……catch,但是更为高级。因为在try……catch中如果产生某句代码产生异常,会在该句产生一个断点,中断于此并抛出异常。而且如果要释放资源,需要在catch中声明和定义。但是using会自动的释放掉这些占用的资源。