如何在c#中检索字典的第一行
本文关键字:一行 字典 检索 | 更新日期: 2023-09-27 18:05:19
如何从字典中检索第一行。我放了大约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()的用法并添加clean foreach示例
请记住,虽然First()
和FirstOrDefault()
将为您提供单个项目,但它不能保证它将是添加的第一个项目。
同样,如果您只是想循环遍历所有项,您可以在上面提到的foreach循环中删除Take(3)
。
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;
}
......
}