如何从C#中的字典中检索第一行?

Vim*_*ran 0 c# asp.net

如何从此字典中检索第一行.我记录了大约15条记录.

Dictionary<string, Tuple<string, string>> headINFO = 
                                   new Dictionary<string, Tuple<string, string>> { };
Run Code Online (Sandbox Code Playgroud)

ean*_*son 7

你可以使用headINFO.First(),但除非你知道总会有至少一个条目,headINFO我建议你使用headINFO.FirstOrDefault().

有关这两者之间差异的更多信息,请点击此处.

编辑: 添加简单示例

这是一个如何使用的快速示例 FirstOrDefault()

var info = headINFO.FirstOrDefault().Value;
Console.WriteLine(info.Item1); // Prints Tuple item1
Console.WriteLine(info.Item2); // Prints Tuple item2
Run Code Online (Sandbox Code Playgroud)

如果要打印多个项目,可以使用Take(x).在这种情况下,我们将遍历三个字典项,但您可以轻松修改数字以获取更多项.

foreach (var info in headINFO.Take(3))
{
    Console.WriteLine(info.Value.Item1);
    Console.WriteLine(info.Value.Item2);
}
Run Code Online (Sandbox Code Playgroud)

您还应该记住,上述内容foreach不允许您直接修改Dictionary条目的值.

Edit2: 澄清了First()的使用并添加了干净的foreach示例

请记住,虽然First()并且FirstOrDefault()将为您提供单个项目,但它不会保证它将是添加的第一个项目.

此外,如果您只是想循环遍历所有项目,您可以删除Take(3)上面提到的foreach循环.

foreach (var info in headINFO)
{
    Console.WriteLine(info.Key);          // Print Dictionary Key
    Console.WriteLine(info.Value.Item1);  // Prints Turple Value 1
    Console.WriteLine(info.Value.Item2);  // Prints Turple Value 2
}
Run Code Online (Sandbox Code Playgroud)


SLa*_*aks 5

字典是无序的,因此无法检索您插入的第一个键值对.

您可以检索一个通过调用LINQ项目.First()方法.