1

通常、私はこれを行います:

using (SqlCommand cmd = new SqlCommand("XXXX", cnn))
{
    using (SqlDataReader dr = cmd.ExecuteReader())
    {
        //xxxxxx  
    }
}

またはこれでも:

using (SqlCommand cmd = new SqlCommand("XXXX", cnn))
using (SqlDataReader dr = cmd.ExecuteReader())
{
    //xxxxxx  
}

しかし、これはどうですか:

using (SqlDataReader dr = new SqlCommand("XXXX", cnn).ExecuteReader())
{
    //xxxxxx  
}

変数に割り当てていないにもかかわらず、SqlCommand に対して Dispose() を呼び出しますか?

4

1 に答える 1

5

変数に割り当てていないにもかかわらず、SqlCommand に対して IDisposable を呼び出しますか?

いいえ。( ) で呼び出さDispose()れます。これは、式によって返されるオブジェクトであるためです。SqlDataReaderdr

于 2012-10-31T19:06:54.683 に答える