-3

C#でComboBoxを埋める最速の方法は何ですか?

  1. Add()
  2. ComboBoxをデータセットにバインドします

または、より速い方法がありますか?

ありがとう。

4

3 に答える 3

2

これを行う最も速い方法は、データリーダーからDBを読み取り、ループ内で.Add()を呼び出すことですが、(名前付きプロパティの代わりに)DataReaderの数値インデックスフィールドを使用することです。

于 2008-12-06T15:36:17.367 に答える
0

データ バインディングを使用すると、1 つのアイテム以外のコードを大幅に削減できます。

myComboBox.DataSource = myDataSet; myComboBox.DataBind();

もちろん、これは DataSet に既にデータが含まれていることを前提としています。おそらく、質問を絞り込むことができますか?

于 2008-12-06T09:47:27.070 に答える
0

おそらく最速の方法は、DataReader にバインドするか、DataReaderを反復処理しAdd()て ComboBox のメソッドを使用することです。いずれにせよ、キーはバインドしているか反復しているかではなく (私はそれらをインストルメント化していないため、どちらが高速かはわかりません)、キーは DataReader を使用することです。

DataSet を使用すると、かなり重いデータ オブジェクトを読み込んで設定することになります。速度の問題に気付いている場合は、おそらくこれが原因です。DataReader に切り替えるだけで (使用Add()またはバインドに関係なく)、おそらく後押しされるでしょう。

もちろん、これはすべて、そもそも速度の問題が発生していることを前提としています。そうでなく、アプリの速度について誰も文句を言っておらず、問題を引き起こすようなアプリの成長が予測されていない場合は、現在のパスにとどまります。 「時期尚早の最適化は諸悪の根源です。」

于 2008-12-06T14:48:40.707 に答える