如何获取Dictionary元素的相对位置?

viz*_*yno 2 c# c#-4.0

我有下一个C#代码:

    Dictionary<string, int> d = new Dictionary<string, int>();
    d.Add("a", 3);
    d.Add("b", 1);
    d.Add("c", 0);
    d.Add("d", -1);
    d.Add("e", -9);
Run Code Online (Sandbox Code Playgroud)

当搜索键"c"时,我想获得该键的位置,即2.如果我查找键"e",我想得到4.如果找不到该元素,则相对位置可以是-1.

补充:除非你有更好的想法,否则我想填充一个矩阵,其中包含由找到的字典元素的相对位置指示的行号中的某些值.这同样适用于列但使用不同的字典.一个例子:

     n4   n2   n1   n3  n9  . . . 
a   4/4
b              2         8
c
d                  8/2
e         4/3
.
.
.
Run Code Online (Sandbox Code Playgroud)

其中a,b,c,d,e,...是字典"d"的键,n4,n2,n3,n9是第二字典的键.

我怎么能得到这个?

Jon*_*eet 9

其中没有"位置"这样的东西Dictionary<,>- 它是一个无序的集合.

按键分类的类似集合 - SortedList<,>SortedDictionary<,>.请注意,这些是按键排序而不是插入时间.目前尚不清楚你想要什么.