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)
相关推荐
FAREWELL00075几秒前
C#核心学习(八)面向对象--封装(7)终章 C#内部类和分部类
开发语言·学习·c#·内部类·密封类·分部类
唐青枫15 分钟前
C# sealed 关键字详解
c#·.net
我自纵横202319 分钟前
使用 JavaScript 动态设置 CSS 样式
开发语言·前端·javascript·css·html·json·html5
╰つ゛木槿20 分钟前
使用VSCode编写C#程序
ide·vscode·c#
const54425 分钟前
cpp自学 day19(多态)
开发语言·c++
晓纪同学1 小时前
随性研究c++-智能指针
开发语言·c++·算法
天堂的恶魔9461 小时前
C —— 字符串操作
c语言·开发语言
徐小黑ACG1 小时前
GO简单开发grpc
开发语言·后端·golang·grpc·protobuf
microhex1 小时前
Javascript代码压缩混淆工具terser详解
开发语言·javascript·ecmascript
DreamByte1 小时前
Python菜鸟教程(小程序)
开发语言·python·小程序