私は本当にこれを頭から取り除きたいです。以下のコードを参照してください。
using (DataTable resultTable = DBUtility.GetSingleDBTableResult(connectionString, "SELECT * FROM MyDBTable")) {
List<string> resultsList = new List<string>();
foreach (DataRow dataRow in resultTable.Rows) {
resultsList.Add(dataRow[0].ToString());
}
return resultsList;
}
データテーブルは破棄されますか?誰かがこれがtry/catch / finallyブロックにどのように変換されるかを説明できますか?MSDNは、例外が発生した場合でもDisposeメソッドが呼び出されると述べていますが、returnステートメントはどうでしょうか。
または、以下のコードを使用する必要があります:
List<string> resultsList = new List<string>();
using (DataTable resultTable = DBUtility.GetSingleDBTableResult(connectionString, "SELECT * FROM MyDBTable")) {
foreach (DataRow dataRow in resultTable.Rows) {
resultsList.Add(dataRow[0].ToString());
}
}
return resultsList;
おそらく、2番目のものを使用する必要がありますが、私はただ啓蒙が必要です:)。説明してください。ありがとう。