使用using语句需要注意的几点:
  3.1、对象必须实现IDisposeable接口,这个已经说过,如果没有实现编译器会报错误。
  如:

 

using(stringstrMsg="MyTest")
{
Debug.WriteLine(strMsg);//Can'tbecompiled
}
  3.2、第二个using对象检查是静态类型检查,并不支持运行时类型检查,因此如下形式也会出现编译错误。
SqlConnectionsqlConn=newSqlConnection(yourConnectionString);
objectobjConn=sqlConn;
using(objConn)
{
Debug.WriteLine(objConn.ToString());//Can'tbecompiled
}
  不过对于后者,可以通过“as”来进行类型转换方式来改进。
SqlConnectionsqlConn=newSqlConnection(yourConnectionString);
objectobjConn=sqlConn;
using(objConnasIDisposable)
{
Debug.WriteLine(objConn.ToString());
}
  3.3、当同时需要释放多个资源时候,并且对象类型不同,可以这样写:
using(SqlConnectionsqlConn=newSqlConnection(yourConnectionString))
using(SqlCommandsqlComm=newSqlCommand(yourQueryString,sqlConn))
{
sqlConn.Open();//Openconnection
//OperateDBhereusing"sqlConn"
sqlConn.Close();//Closeconnection
}
 
   如果对象类型相同,可以写到一起:
using(FontMyFont=newFont("Arial",10.0f),MyFont2=newFont("Arial",10.0f))
{
//useMyFontandMyFont2
}//compilerwillcallDisposeonMyFontandMyFont2
  3.4、using关键字只是针对C#语句,对于VB等其他语言还没有对应的功能。
  PS:本C# using的三种作用属个人学习总结,欢迎交流。