Я переписал старый код, чтобы в моих таблицах данных использовался оператор using
вместо того, чтобы каждый раз запоминать Dispose
:
using (DataTable dt = BLL.GetDataTable()) {
foreach(DataRow dr in dt.Rows) {
// iteration logic
}
}
Однако в одном конкретном случае содержимое DataTable отличается в зависимости от переменной, поэтому я создаю исходный DataTable, а затем присваиваю значение:
DataTable dt = new DataTable();
switch(foo) {
case bar:
dt = BLL.GetDataTable(bar);
break;
default:
dt = BLL.GetDataTable();
break;
}
// iteration logic here
dt.Dispose();
Изменение этого значения на using
, у меня есть:
using (DataTable dt = new DataTable()) {
switch(foo) {
case bar:
dt = BLL.GetDataTable(bar);
break;
default:
dt = BLL.GetDataTable();
break;
}
// iteration logic here
}
Это хорошая практика (т. Е. Создание таблицы данных empty
с оператором using
)? Я не знаю почему, но это не совсем правильно.