C#でComboBoxを埋める最速の方法は何ですか?
- と
Add()
- ComboBoxをデータセットにバインドします
または、より速い方法がありますか?
ありがとう。
C#でComboBoxを埋める最速の方法は何ですか?
Add()
または、より速い方法がありますか?
ありがとう。
これを行う最も速い方法は、データリーダーからDBを読み取り、ループ内で.Add()を呼び出すことですが、(名前付きプロパティの代わりに)DataReaderの数値インデックスフィールドを使用することです。
データ バインディングを使用すると、1 つのアイテム以外のコードを大幅に削減できます。
myComboBox.DataSource = myDataSet; myComboBox.DataBind();
もちろん、これは DataSet に既にデータが含まれていることを前提としています。おそらく、質問を絞り込むことができますか?
おそらく最速の方法は、DataReader にバインドするか、DataReaderを反復処理しAdd()
て ComboBox のメソッドを使用することです。いずれにせよ、キーはバインドしているか反復しているかではなく (私はそれらをインストルメント化していないため、どちらが高速かはわかりません)、キーは DataReader を使用することです。
DataSet を使用すると、かなり重いデータ オブジェクトを読み込んで設定することになります。速度の問題に気付いている場合は、おそらくこれが原因です。DataReader に切り替えるだけで (使用Add()
またはバインドに関係なく)、おそらく後押しされるでしょう。
もちろん、これはすべて、そもそも速度の問題が発生していることを前提としています。そうでなく、アプリの速度について誰も文句を言っておらず、問題を引き起こすようなアプリの成長が予測されていない場合は、現在のパスにとどまります。 「時期尚早の最適化は諸悪の根源です。」