我真的很想摆脱这个。请看下面的代码:
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;
可能应该使用第二个,但我只需要启发:)。请解释。谢谢。