delphi – 来自字符串的枚举
发布时间:2020-12-15 09:43:09 所属栏目:大数据 来源:网络整理
导读:鉴于下面的声明,有没有办法从字符串值(例如’one’)中检索枚举值(例如jt_one)? type TJOBTYPEENUM =(jt_one,jt_two,jt_three);CONST JOBTYPEStrings : ARRAY [jt_one..jt_three] OF STRING = ('one','two','three'); 或者我是否需要使用嵌套的if语句创建自
鉴于下面的声明,有没有办法从字符串值(例如’one’)中检索枚举值(例如jt_one)?
type TJOBTYPEENUM =(jt_one,jt_two,jt_three); CONST JOBTYPEStrings : ARRAY [jt_one..jt_three] OF STRING = ('one','two','three'); 或者我是否需要使用嵌套的if语句创建自己的函数? 注意:我不是在寻找字符串“jt_one” 解决方法function EnumFromString(const str: string): TJOBTYPEENUM; begin for Result := low(Result) to high(Result) do if JOBTYPEStrings[Result]=str then exit; raise Exception.CreateFmt('Enum %s not found',[str]); end; 在实际代码中,您需要使用自己的异常类.如果要允许不区分大小写的匹配,请使用SameText比较字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |