在 Delphi 中,TDictionary
是一个泛型字典类,用于存储键值对。要遍历 TDictionary
,你可以使用其内置的枚举器(enumerator)。TDictionary
提供了一个 GetEnumerator
方法,该方法返回一个可以用于遍历字典中所有键值对的枚举器。
以下是一个遍历 TDictionary<TKey, TValue>
的示例:
uses
System.SysUtils, System.Generics.Collections;
procedure TraverseDictionary;
var
Dict: TDictionary<string, Integer>;
Pair: TPair<string, Integer>;
begin
// 创建并初始化字典
Dict := TDictionary<string, Integer>.Create;
try
Dict.Add('One', 1);
Dict.Add('Two', 2);
Dict.Add('Three', 3);
// 使用 for-in 循环和枚举器遍历字典
for Pair in Dict do
begin
WriteLn('Key: ', Pair.Key, ', Value: ', Pair.Value);
end;
finally
// 释放字典
Dict.Free;
end;
end;
begin
TraverseDictionary;
ReadLn; // 暂停以查看输出
end.
在这个示例中,我们首先创建了一个 TDictionary<string, Integer>
实例,并向其中添加了一些键值对。然后,我们使用一个 for-in
循环来遍历字典。在循环中,Pair
变量是一个 TPair<string, Integer>
类型的实例,它表示字典中的一个键值对。通过 Pair.Key
和 Pair.Value
,我们可以访问键和值,并将它们输出到控制台。
另外,你也可以直接使用 TDictionary
的 Keys
和 Values
属性来分别获取所有的键和值,并遍历它们:
var
Key: string;
Value: Integer;
begin
// ...(字典的创建和初始化部分与上面相同)
// 遍历所有的键
for Key in Dict.Keys do
begin
WriteLn('Key: ', Key);
end;
// 遍历所有的值
for Value in Dict.Values do
begin
WriteLn('Value: ', Value);
end;
// ...(字典的释放部分与上面相同)
end;
但是,请注意,当你只遍历键或值时,可能会失去键和值之间的关联。因此,在大多数情况下,使用 for-in
循环和 TPair
是更好的选择,因为它同时提供了键和值的信息。
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/18576765
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人