一、遍历 TStrings
var List: TStrings; s: string; begin List := TStringList.Create; List.CommaText := 'aaa,bbb,ccc'; for s in List do ShowMessage(s); List.Free; end;
二、遍历数组
var Arr: array[0..2] of Byte; i: Integer; b: Byte; begin for i := Low(Arr) to High(Arr) do Arr[i] := Random(MAXBYTE); for b in Arr do ShowMessage(IntToStr(b)); end;
三、遍历子界
{例1} var sub: 0..9; str: string; begin str := ''; for sub in [Low(sub)..High(sub)] do str := str + IntToStr(sub); ShowMessage(str); {0123456789} end; {例2} type TSub = 'A'..'G'; var sub: TSub; str: string; begin str := ''; for sub in [Low(sub)..High(sub)] do str := str + sub; ShowMessage(str); {ABCDEFG} end; {例3} var sub: Byte; {Byte 应该算是个 0..255 的子界} num: Cardinal; begin num := 0; for sub in [Low(sub)..High(sub)] do Inc(num, sub); ShowMessage(IntToStr(num)); {32640} end;
四、遍历枚举
type TEnum = (Red,Green,Blue); var enum: TEnum; count: Integer; begin count := 0; for enum in [Low(enum)..High(enum)] do Inc(count); ShowMessage(IntToStr(count)); {3} end;
五、遍历集合
type TEnum = (Red,Green,Blue,Yellow); TSet = set of TEnum; var set1: set of TEnum; set2: TSet; elem: Tenum; count: Integer; begin set1 := [Red, Yellow]; count := 0; for elem in set1 do Inc(count); ShowMessage(IntToStr(count)); {2} set2 := [Red..Yellow]; count := 0; for elem in set2 do Inc(count); ShowMessage(IntToStr(count)); {4} end;
六、遍历字符串
var str: string; c: Char; begin str := 'ABCD'; for c in str do ShowMessage(c); end;
上面是我能够想到的, 还有吗? 帮我想想.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2007-11-12 测试代码
2007-11-12 祝贺我的博客开通!