Tom*_*len 2 c# linq asp.net dispose scope
3个具有相同功能的示例:
使用大括号
public static int TicketsRequiringSupportResponse()
{
int ReturnValue = 0;
using (var dc = new CrystalCommon.MainContext())
{
ReturnValue = (dc.tblHelpCentreQuestions.Where(c => c.awaitingSupportResponse == true).Count());
}
return ReturnValue;
}
Run Code Online (Sandbox Code Playgroud)
使用没有大括号
public static int TicketsRequiringSupportResponse()
{
int ReturnValue = 0;
using (var dc = new CrystalCommon.MainContext())
ReturnValue = (dc.tblHelpCentreQuestions.Where(c => c.awaitingSupportResponse == true).Count());
return ReturnValue;
}
Run Code Online (Sandbox Code Playgroud)
没有大括号,并在使用区块内返回
public static int TicketsRequiringSupportResponse()
{
using (var dc = new CrystalCommon.MainContext())
return (dc.tblHelpCentreQuestions.Where(c => c.awaitingSupportResponse == true).Count());
}
Run Code Online (Sandbox Code Playgroud)
所有这些都妥善处理吗?方法3是最好的,代码最少,但我担心它不能正确处理,因为return语句会中断.
是的,他们都做同样的事情.大括号只增加明确的范围; 默认情况下,using仅适用于下一个语句.退出一个using遗嘱仍然处置(它基本上是一个尝试/终于幕后)我的偏好是#3,但为了清晰起见添加了括号.
| 归档时间: |
|
| 查看次数: |
481 次 |
| 最近记录: |