如何使用c#在Dictionary数组中查找下一个键值对
本文关键字:查找 下一个 键值对 数组 Dictionary 何使用 | 更新日期: 2023-09-27 18:28:48
我有一本像这样的字典
var secArray0 = new Dictionary<string, string>
{
{ "Name", "gomesh" },
{ "EmpCode", "ID04" },
{ "DeptId", "1C" },
{ "Age", "25" }
};
var secArray1 = new Dictionary<string, string>
{
{ "Name", "Sunny" },
{ "EmpCode", "ID05" },
{ "DeptId", "1D" },
{ "Age", "28" }
};
至secArray3。现在我把上面的所有内容都放进另一本像一样的字典里
Dictionary<string, string>[] secArray =
{
secArray0,
secArray1,
...
};
现在在c#代码中,当我需要通过索引访问任何元素时,比如
secArray[0]["Name"].toString() --> i can get the name "gomesh" and so on.
现在我的问题是如何在secArray
字典中迭代以找到下一个值/名称,即"Sunny"。请提供一些代码。提前谢谢。
如果你想迭代,你可以做一个for循环:
for (var i = 0; i < secArray.Length; i++)
{
Console.WriteLine(secArray[i]["Name"].ToString());
}
现在我的问题是如何迭代secArray字典
您可以使用foreach
循环:
foreach (var item in secArray)
{
Console.WriteLine(item["Name"]);
}
Dictionary<TKey, TValue>
实现IEnumerable<KeyValuePair<TKey, TValue>>
,因此它将是:
foreach (var kvp in secArray[0])
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
secArray不是字典,它是一个字典数组。因此,您只需要移动索引即可获得下一个元素,如:
secArray[1]["Name"].ToString()
所以,你可以做:
for(int i = 0; i < secArray.Length; i++)
{
var something = secArray[i]["Name"].toString();
}