VBScript转C#:判断字母数字医疗代码是否在指定范围
VBScript字母数字医疗代码范围判断转C#解决方案
原VBScript逻辑说明
VBScript中对字符串直接使用>=/<=进行范围判断,本质是基于字典序比较,这和Axxxx格式的医疗代码排序规则完全匹配。
C#对应实现
C#的string类型默认支持直接用>=/<=操作符做字典序比较,行为和VBScript一致,因此可以直接写出等价代码:
// 与原VBScript逻辑完全一致的C#代码 if (ProcCode >= "A4000" && ProcCode <= "A7999") { // 执行对应业务逻辑 }
额外注意事项
- 如果存在
ProcCode大小写不固定的情况(比如可能出现小写a开头),可以使用忽略大小写的比较方式,避免判断错误:
if (string.Compare(ProcCode, "A4000", StringComparison.OrdinalIgnoreCase) >= 0 && string.Compare(ProcCode, "A7999", StringComparison.OrdinalIgnoreCase) <= 0) { // 执行对应业务逻辑 }
- 推荐使用
StringComparison.Ordinal或OrdinalIgnoreCase进行比较,避免系统文化设置差异导致的排序逻辑偏差,更适配医疗代码这类固定格式的字符串场景。
内容的提问来源于stack exchange,提问作者Lou
相关产品推荐
相关产品推荐

