如何遍历SortedList,获取密钥和值

Way*_*eio 18 c# sortedlist

下面的代码循环遍历列表并获取值,但是我如何编写一个类似的语句来获取键和值

foreach (string value in list.Values)
{
    Console.WriteLine(value);
}
Run Code Online (Sandbox Code Playgroud)

比如这样的事情

    foreach (string value in list.Values)
{
    Console.WriteLine(value);
        Console.WriteLine(list.key);
}
Run Code Online (Sandbox Code Playgroud)

该列表的代码是:

SortedList<string, string> list = new SortedList<string, string>();
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 32

foreach (KeyValuePair<string, string> kvp in list)
{
    Console.WriteLine(kvp.Value);
    Console.WriteLine(kvp.Key);
}
Run Code Online (Sandbox Code Playgroud)

来自msdn:

GetEnumerator返回一个KeyValuePair<TKey, TValue>循环的类型的枚举器SortedList<TKey, TValue>.

正如Jon所说,您可以使用var关键字而不是编写迭代变量的类型名称(类型将从使用中推断):

foreach (var kvp in list)
{
    Console.WriteLine(kvp.Value);
    Console.WriteLine(kvp.Key);
}
Run Code Online (Sandbox Code Playgroud)

  • 或者使用`var`来避免冗长的变量声明. (7认同)
  • @JonSkeet同意,var在现实生活中更好,但我写了完整的类型名称来显示什么是kvp的实际类型. (5认同)
  • 这绝对有道理 - 可能值得展示这两种方法. (3认同)
  • 同样来自链接的文档:_While枚举,维护排序顺序.所以你正在按正确的顺序(通过键,升序)进行操作. (2认同)