Delphi 枚举的学习

Program Project;

Uses
    TypInfo, // 用于枚举类型反射
    SysUtils;

Type
    TColors = (Red, Blue, Green); // 符合Pascal命名规范的枚举类型

Var
    Color1, Color2, Color3: TColors;


    { 演示正确的枚举遍历方式 }
Procedure demo1();
Begin
    Color1 := TColors.Red;
    Color2 := TColors.Blue;
    Color3 := TColors.Green;

    // 输出序数值验证
    Writeln('Demo1序数值:');
    Writeln(ord(Color1)); // 0
    Writeln(ord(Color2)); // 1
    Writeln(ord(Color3)); // 2
    Writeln('----------');

    // 正确遍历方式:直接使用枚举值的Ord值
    Writeln('枚举值遍历:');
    For Color1 := Low(TColors) To High(TColors) Do
    Begin
// 关键改进:使用当前枚举值的Ord值作为索引
        Writeln(GetEnumName(TypeInfo(TColors), Ord(Color1)));
        Writeln(GetEnumValue(TypeInfo(TColors), GetEnumName(TypeInfo(TColors), Ord(Color1))));

    End;
End;



Begin
    demo1();
    readln; // 保持控制台窗口打开
End.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值