如何自动递增字典的键?

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);

这是一种有效的方法吗?因为我想连续执行此操作。是否有其他更快的方法?


不要使用max,而是直接访问最后一个索引(int maxKey = DataDictionary1.Values[DataDictionary1.Length -1].Key); 同时确保有项目。 - Polity
@Polity,您无法索引System.Collections.Generic.Dictionary<K, V>的值集合。 - phoog
1个回答

12

为什么不使用 List<string>,然后向其中添加元素。列表中元素的索引将表示键。因此:

List<string> myList = ...

然后:

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

谢谢。但是你能告诉我是否可以访问特定索引的列表项吗? - Dany
2
@Dany:是的。string someValue = myList[1]; - tobias86

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接