Hun*_*ain -4 .net c# asp.net using
何时以及为何在Asp.net(C#)中使用USING语句添加大括号?
例如
using (Log L = new Log())
{
...
}
Run Code Online (Sandbox Code Playgroud)
为什么以及什么时候放花括号?好处?使用和使用我们用来在源代码中包含命名空间的区别是什么
using system.net
Run Code Online (Sandbox Code Playgroud)
还有一件事,最后一件事,因为它说USING语句自动实现TRY CATCH然后为什么总是编码器把try catch放在里面使用?例如
using (SqlDataAdapter sqlDA = new SqlDataAdapter(sqlCom))
{
try
{
//sqlCom.ExecuteNonQuery();
//sqlDA.Fill(ds,"Login");
DataTable dt = new DataTable("DT_CR");
sqlDA.Fill(dt);
ds.Tables[0].Merge(dt);
return ds;
}
catch (SqlException se)
{
Response.Write(se.Message);
return null;
}
Run Code Online (Sandbox Code Playgroud)
{}内的所有内容都可以访问L.没有{},只有下一个语句可以访问.
这是标准的C#语法,就像把{}的之后if,for或while声明的例子.它定义了一个适用于该using语句的代码块.
虽然它使用相同的单词作为导入using,但它的使用是非常不同的.出于向后兼容性原因,C#语言设计者尝试重用保留字,而不是引入新字.
在a的情况下using block,正如您所定义的那样,想法是对象L仅在执行using块时存在.然后将其处理掉.这节省了必须记住关闭文件或连接并且通常整理,使用块为您执行此操作.
实际上,使用块实际上只是try/finally块的"语法糖".如http://msdn.microsoft.com/en-us/library/yh598w02.aspx中所述
using语句确保即使在对象上调用方法时发生异常,也会调用Dispose.您可以通过将对象放在try块中然后在finally块中调用Dispose来实现相同的结果; 实际上,这就是编译器如何翻译using语句.
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |