2016-05-27 7 views
1

私は私のプロジェクトにいくつかのコンボボックスを持っています。その内容は大きく変化しています。だから自分のコンテンツを自分のデータベースに入れます。さて、私は自分のデータを取得するために以下のようなコードを書いたが、これは私のアプローチのように機能しているのか、まったく問題ではないのだろうか?私の主な質問は、これは、このようなオブジェクトを使用する健全な方法ですか?C#連続使用ステートメント

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

答えて

5

はい、これは問題ありません。できるだけスコープを絞り込む必要がありますので、ここに3つのブロックがあると便利です(ブロック全体でusingと反対)。しかし

1つの提案:usingの間または後にdataTableの誤用を防ぐために、私はusing内の変数を作成することをお勧め:

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

答え&アドバイスありがとうございます。私はデータテーブルをあらかじめ定義していました。なぜなら、「データテーブル定義を最初に使用すると、デバイスのスタックRAM領域とパフォーマンスの利益を上げることができるかもしれません。それは必要ではありません&可読性はこの状況でより重要ですか? – mimozz

1

私はあなたの唯一の目標は、テーブルから値を読み取ることで推測するととコンボボックスでそれらを埋めるには、DataTableのInstance of DataTableを使用することを検討してください.DataTableは、DataTableと比較して軽量です。そして、はい、パトリックの提案が適切です。私は通常、ステートメントを使ってvarを使用します。

+0

oh、ok。それは私の方法ではなく、パフォーマンスの利益を上げる方が理にかなっています。ありがとう。 – mimozz

+0

@mimozz通常、答えがあなたの問題を解決するか、有益な情報を与える場合、努力を感謝するためにそれをアップフォートします。 –

関連する問題