您的位置:首页 >C# Dictionary 遍历方法全解析
发布于2025-11-05 阅读(0)
扫一扫,手机访问
<p>遍历C# Dictionary有多种方式,最常用的是使用foreach直接遍历KeyValuePair,适合同时访问键和值;若只需键或值,可分别遍历Keys或Values集合以提升效率;需要精细控制时可用GetEnumerator手动遍历;遍历时不可直接修改字典,否则会抛出异常,应先缓存需删除的键再操作。</p>

在 C# 中,遍历 Dictionary<TKey, TValue> 是常见操作。Dictionary 存储键值对,遍历时有多种方式,可根据需求选择最合适的方法。
这种方式简单直观,适合同时访问键和值。
示例:Dictionary<string, int> ages = new Dictionary<string, int>
{
{ "Alice", 25 },
{ "Bob", 30 },
{ "Charlie", 35 }
};
foreach (var kvp in ages)
{
Console.WriteLine($"Name: {kvp.Key}, Age: {kvp.Value}");
}
这样可以减少不必要的数据访问,提高可读性。
foreach (var key in ages.Keys)
{
Console.WriteLine("Key: " + key);
}
foreach (var value in ages.Values)
{
Console.WriteLine("Value: " + value);
}
通过 GetEnumerator() 获取枚举器,手动调用 MoveNext() 和访问 Current。
示例:
var enumerator = ages.GetEnumerator();注意:通常推荐使用 foreach,除非有特殊控制需求。
while (enumerator.MoveNext())
{
var current = enumerator.Current;
Console.WriteLine($"Key: {current.Key}, Value: {current.Value}");
}
如果需要删除满足条件的项,应先收集键,再单独操作:
var keysToRemove = ages.Where(kvp => kvp.Value < 30)
.Select(kvp => kvp.Key)
.ToList();
foreach (var key in keysToRemove)
{
ages.Remove(key);
}
基本上就这些。根据实际需要选择遍历方式,日常开发中 foreach(var kvp in dict) 最实用也最清晰。
上一篇:Excel数据分组展开与折叠技巧
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9