我刚开始使用 "using" 来确保资源被释放,无论发生什么情况。
下面是我编写的一些代码示例,用于检索一些数据。我的问题是:
是否需要所有的 "using",或者只有第一个就足够了?
SomeMethod()
{
using (SqlConnection cn = new SqlConnection("myConnection"))
{
cn.Open();
using (SqlCommand cmd = cn.CreateCommand())
{
cmd.CommandText = "myQuery";
using (SqlDataReader rdr = cmd.ExecuteReader())
{
if(rdr.HasRows)
{
while (rdr.Read())
// do something
}
}
}
}
}
Dispose
,使用using
也是更好的选择。为什么呢?因为你不知道它是否实现了IDisposable
接口,通常不会无缘无故地实现。 - Tim Schmelterusing
语句链接在一起,以减少缩进等。 - James Thorpe