2011-12-15 28 views
3

私はC#でアプリケーションを作っています。私のアプリケーションでは、私は次のような構造のDictionaryを使用しています:辞書のキーを自動インクリメントする方法は?

ここ
Dictionary<int, string> DataDictionary1 = new Dictionary<int, string>(); 

私は、辞書内のキー値が自動インクリメントする必要がありますしたいです。そのために私はとロジックを使用しています:

string header="ABC"; 
int maxKey = DataDictionary1 .Max(x => x.Key); 
DataDictionary1 .Add(maxKey + 1, header); 

私は継続的にこの操作を行いたいので、という効率的な方法です。この方法よりも速い他の方法はありますか?

+0

いけない最大使用せず、直接、最後のインデックス(int型maxKey = DataDictionary1.Values [DataDictionary1.Length -1] .KEY)にアクセス。 )また、アイテムがあることを確認してください – Polity

+0

@Polity:ありがとう – Dany

+0

@Polity 'System.Collections.Generic.Dictionary 'の値コレクションをインデックス化することはできません。 – phoog

答えて

11

なぜ、List<string>を使用して、要素を追加してください。リスト内の要素のインデックスはKeyを表します。だから、:

List<string> myList = ... 

、その後:

string header = "ABC"; 
myList.Add(header); 
+0

ありがとう、しかし、特定のインデックスのリストからアイテムにアクセスすることは可能ですか? – Dany

+2

@ダニー:はい。 'string someValue = myList [1];' – tobias86

+0

@ダーリンディミトロフ:ありがとう...! – Dany

関連する問題