zoukankan      html  css  js  c++  java
  • C#怎么判断传入int值是否是枚举里面的值

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

    1. if(type==1){
    2. //....
    3. }
    4. else if(type==2){
    5. //...
    6. }
    7. else if(type==3){
    8. //...
    9. }

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

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

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

    比如定义如下枚举:

    1. public enum PayType{
    2. Alipay=1,
    3. Weixin=2
    4. }

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

    检验调用代码:

    1. Enum.IsDefined(typeof(PayType), req.type)
  • 相关阅读:
    PatentTips
    PatentTips
    PatentTips
    PatentTips – Java native function calling
    PatentTips
    PatentTips
    PatentTips
    PatentTips
    PatentTips
    PatentTips
  • 原文地址:https://www.cnblogs.com/chinasoft/p/14715637.html
Copyright © 2011-2022 走看看