C# 连续使用语句

C# consecutive using-statements

我的项目中有几个组合框。他们的内容变化很大。所以我把他们的内容放在我的数据库中。现在,我编写了如下代码来检索他们的数据,但我想知道,这 'usings' 是像我的方法一样工作还是根本无关紧要?我的主要问题是;这样使用对象是一种健康的方式吗?

DataTable results;
using (results = myDataInteractionClass.SelectDB())
{
    // fill table objects to combobox
}

using (results = myDataInteractionClass.SelectAnotherDB())
{
    // fill this new table's objects to combobox
}

using (results = myDataInteractionClass.SelectThirdDB())
{
    // so goes on like this.
}

是的,这很好。你应该尽可能地缩小范围,所以这里有三个 using 是好的(相对于整个块周围的一个 using)。

不过有一个建议:为了防止在 using 之间或之后滥用 dataTable,我建议在 using:

中创建变量
using (/*so here*/ DataTable results = myDataInteractionClass.SelectDB())
{
    // fill table objects to combobox
}

我猜你唯一的目标是从 table 中读取值并将它们填充到组合框中,考虑使用 DataTable 的 DataReader Insted,与 DataTable 相比它是轻量级的。是的,帕特里克的建议很合适。我通常将 var 与 using 语句一起使用。