IDisisposable而不分配变量

Sea*_*ean 1 .net c# idisposable

通常我会这样做:

using (SqlCommand cmd = new SqlCommand("XXXX", cnn))
{
    using (SqlDataReader dr = cmd.ExecuteReader())
    {
        //xxxxxx  
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至这个:

using (SqlCommand cmd = new SqlCommand("XXXX", cnn))
using (SqlDataReader dr = cmd.ExecuteReader())
{
    //xxxxxx  
}
Run Code Online (Sandbox Code Playgroud)

但是这个怎么样:

using (SqlDataReader dr = new SqlCommand("XXXX", cnn).ExecuteReader())
{
    //xxxxxx  
}
Run Code Online (Sandbox Code Playgroud)

是否为SqlCommand调用Dispose(),即使我没有将它分配给变量?

Ree*_*sey 5

是否为SqlCommand调用IDisposable,即使我没有将它分配给变量?

号它将调用Dispose()SqlDataReader(dr),因为这是由表达式返回的对象.