首页 > 代码库 > 【转】for in 循环的用法
【转】for in 循环的用法
一、遍历 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;
【转】for in 循环的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。