C# OLEDB命令,两个连续的“;使用;
使用两个连续的“using”,当从{}退出时,两个连接都会被释放吗C# OLEDB命令,两个连续的“;使用;,c#,oledbconnection,oledbcommand,C#,Oledbconnection,Oledbcommand,使用两个连续的“using”,当从{}退出时,两个连接都会被释放吗 using(OleDbConnection con = new OleDbConnection(conString)) using(OleDbCommand command = con.CreateCommand()) { } 那里只有一个连接,一个命令使用相同的连接。两者都将被处置 这实际上是: using(OleDbConnection con = new OleDbConnection(conString)) {
using(OleDbConnection con = new OleDbConnection(conString))
using(OleDbCommand command = con.CreateCommand())
{
}
那里只有一个连接,一个命令使用相同的连接。两者都将被处置
这实际上是:
using(OleDbConnection con = new OleDbConnection(conString))
{
using(OleDbCommand command = con.CreateCommand())
{
} // command will be disposed here
} // con will be disposed here
是的,没错。。。
OleDbConnection
和OleDbCommand
都将在}
行中处理。哪两个连接?我只看到一个。但在这种情况下,两个对象都会。在诸如if
或using
之类的块周围添加大括号{}
,总是可以更清楚地知道何时会发生什么,这也是一种好的做法。基本上与if(condition)Do()相同代码>和如果(条件){Do();}