2012-03-12 2 views
0

申し訳ありませんが悪い英語です。ControlCollection.Item(s)はどのように機能しますか?

コードを使用して、大量の(大量ではない!)数のコントロールを作成して管理する必要があります。私はそれらを作成し、イベントをリンクする方法を知っています。問題は、追加されたコントロールへの今後のアクセス方法です。

どのプロパティがうまく機能しますか? ControlCollection.Item [int index]またはControlCollection.Item [文字列キー]?

Item [int]の時間複雑度はO(1)でなければならず、Item [string]の時間複雑度はO(n)でなければならないと思います。そうですか?

+0

ハッシュテーブルを使用してO(1)にすることはできますが、そうではありません。 – SLaks

+0

それで、あなたは両方ともO(n)であると言っていますか? –

+1

'this [int]'はO(1)です。 – SLaks

答えて

1

ControlCollection.this[string]はO(n)ですが、最も最近検索された名前がキャッシュされます。

+0

ありがとうございますが、最終回答は何ですか?すべての側面を考慮すると、どれが**ベスト**ですか? –

+1

彼らは2つの異なることをします。インデックスがあれば、 'this [int]'は明らかに優れています。 – SLaks

+0

これは、「どのリストがベストですか?リスト」または「辞書<文字列、文字列>ですか? – SLaks

関連する問題