Secondo MSDN LibraryConfused utilizzando "usando" Dichiarazione C#
using Statement (C# Reference)
Defines a scope, outside of which an object or objects will be disposed.
Ma ho ottenuto questo codice postato qui da qualche utente ed ho ottenuto confuso su questo: (si veda il mio commento sul codice)
using (OleDBConnection connection = new OleDBConnection(connectiongString))
{
if (connection.State != ConnectionState.Open)
connection.Open();
string sql = "INSERT INTO Student (Id, Name) VALUES (@idParameter, @nameParameter)";
using (OleDBCommand command = connection.CreateCommand())
{
command.CommandText = sql;
command.CommandType = CommandType.Text;
OleDBParameter idParameter = command.CreateParameter();
idParameter.DbType = System.Int32;
idParameter.Direction = Parameterdirection.Input;
idParameter.Name = "@idParameter";
idParameter.Value = studentId;
OleDBParameter nameParameter = command.CreateParameter();
try
{
command.ExecuteNonQuery();
}
finally
{
// Is it still necessary to dispose these objects here?
command.Dispose();
connection.Dispose();
}
}
}
Nel codice precedente, l'istruzione using
è stata utilizzata correttamente? Sono confuso, qualcuno può spiegare come usare l'istruzione using
e il suo ambito e quando, dove e perché usarlo. Grazie ..
in realtà uguale a se (x! = Null) {((IDisposable) x) .Dispose(); } - using Statement (C# Reference) http://bit.ly/acmoOD –
Trovo triste che solo perché ho postato la mia risposta un minuto prima che tu abbia (attualmente) il doppio dei voti, questo non è di buon auspicio per SO , la tua domanda non è inferiore alla mia in alcun modo, ma perché non hai disegnato abbastanza velocemente (probabilmente) non sorgerà sopra il mio. – Motti
Questo è il modo in cui SO funziona al momento, credo, e non sono sicuro che ci sia una "correzione" rapida per entrambi. Purtroppo, promuove risposte rapide invece di quelle ben pensate. Mi trovo spesso a scrivere una risposta veloce anche se so che avrò bisogno di modificarlo in seguito per non essere completamente affondato. Ci ho pensato per un po ', e un mio suggerimento è che dopo che una domanda è stata postata, nessuna risposta verrà mostrata per 10 minuti, e dopo 10 minuti tutte le risposte scritte in questo lasso di tempo sono mostrate in ordine casuale con lo stesso timestamp. Potrebbe essere una buona idea;) –