如何从此字典中检索第一行。我放了大约 15 条记录。
Dictionary<string, Tuple<string, string>> headINFO =
new Dictionary<string, Tuple<string, string>> { };
您可以使用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
如果要打印多个项目,可以使用Take(x)。在这种情况下,我们将遍历三个字典项,但您可以轻松修改数字以获取更多项。
foreach (var info in headINFO.Take(3))
{
Console.WriteLine(info.Value.Item1);
Console.WriteLine(info.Value.Item2);
}
您还应该记住,上述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
}
字典是无序的,因此无法检索您插入的第一个键值对。
您可以通过调用 LINQ.First()
方法来检索项目。
最简单的方法就是使用 Linq 的First
扩展方法:
var firstHead = headINFO.First();
或者,如果您想更安全,如果字典为空,该FirstOrDefault
方法将返回:null
var firstHead = headINFO.FirstOrDefault();
如果您想遍历字典中的所有项目,请尝试以下操作:
foreach(var head in headINFO)
{
...
}
试试这个代码。
headINFO.FirstOrDefault();
尝试这个:
int c=0;
foreach(var item in myDictionary)
{
c++;
if(c==1)
{
myFirstVar = item.Value;
}
else if(c==2)
{
mySecondVar = item.Value;
}
......
}