C# 判断值是否在枚举里

你还在代码里面通篇通过数字的定义类型。比如type为1 表示xx,type为2 表示yy吗?然后程序里面通过数字1和2来判断吗?比如下面类似的代码:

cs 复制代码
if(type==1){
//....
}
else if(type==2){
//...
}
else if(type==3){
//...
}

老鸟们一般都会用枚举来定义类型。

枚举这个是一个好东西,可以提高代码的可读性和可维护性。尤其asp.net mvc中的Action参数也可以定义为枚举,这样请求传入的int值,后台会自动转为枚举类型。(asp.net mvc model绑定特性,asp.net mvc强大之处)

有时候,我们想要知道传入int值是否是枚举里面的值。你以前是不是一个值一个值的去判断的?

比如定义如下枚举:

cs 复制代码
public enum PayType{

Alipay=1,

Weixin=2

}

当API定义type为数字类型时,我们想知道payType是否是枚举里面的值(也就是1或2)

检验调用代码:

cs 复制代码
Enum.IsDefined(typeof(PayType), req.type)
相关推荐
熊猫钓鱼>_>7 分钟前
大学图论第 6 讲:网络流与二分图匹配——对偶性让瓶颈自己现形
开发语言·算法·面试·职场和发展·图论·校招·面经
方便面不加香菜8 分钟前
C++ 关于多态的知识点讲解
开发语言·c++
jimy128 分钟前
C++ 类成员函数的内联定义(inline)详解
开发语言·c++
Nebula_g34 分钟前
JavaSE高级:动态代理
java·开发语言·算法·javase
Behavior37 分钟前
Unity 7.0 Alpha 拆解:编辑器干掉 Mono 换 CoreCLR
c#·unity3d·游戏开发
青春逝如流水1 小时前
Java 线程与操作系统、硬件的关系:状态、映射与差异
java·开发语言·多线程·ai文章
谢亮_vipxieliang1 小时前
Go gRPC基础与实战
开发语言·后端·golang
淡海水1 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
Aurorar0rua1 小时前
CS50 x 2024 Notes Data structures - 08
c语言·开发语言·学习方法
企业数字化笔记1 小时前
新租户注册成功却不能用?开通状态、初始化恢复与可用性验收
开发语言·python