C#连续使用语句

时间:2016-05-27 09:57:22

标签: c# .net using-statement

我的项目中有几个组合框。他们的内容正在发生很大变化。所以我将他们的内容放在我的数据库中。现在,我编写了一个类似于下面的代码来检索他们的数据,但我想知道,这种“使用”是否像我的方法一样工作或根本不重要?我的主要问题是;这是一种健康的方式来使用这样的对象吗?

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.
}

2 个答案:

答案 0 :(得分:5)

是的,这完全没问题。你应该尽可能地缩小范围,因此这里有三个using是好的(与整个区块周围的using相对)。

一个建议是:为防止在dataTable之间或之后滥用using,我建议在using内创建变量:

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

答案 1 :(得分:1)

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

相关问题