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)
相关推荐
程序猿阿伟1 分钟前
《C++高效图形用户界面(GUI)开发:探索与实践》
开发语言·c++
暗恋 懒羊羊9 分钟前
Linux 生产者消费者模型
linux·开发语言·ubuntu
五味香26 分钟前
C++学习,信号处理
android·c语言·开发语言·c++·学习·算法·信号处理
梓䈑43 分钟前
【C语言】自定义类型:结构体
c语言·开发语言·windows
鱼跃鹰飞1 小时前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
小蜗笔记1 小时前
在Python中实现多目标优化问题(7)模拟退火算法的调用
开发语言·python·模拟退火算法
杨荧1 小时前
【JAVA开源】基于Vue和SpringBoot的水果购物网站
java·开发语言·vue.js·spring boot·spring cloud·开源
知识分享小能手1 小时前
mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
大数据·开发语言·数据库·sql·学习·mysql·数据分析
魏大橙1 小时前
Fastjson反序列化
开发语言·python