C# 枚举,传入int值返回string值

需求:1:子公司负责人2:人事3:审批人4:签批人 5:管理员  传入值为1,2,3,4,5这个数字的某一个。需要返回他们的中文描述。

一下忘记该怎么写了。。。后来百度下查出来了。。记录下当个小工具吧

下面贴源码:

  //需要的方法
   public string GetEnumDescription(Enum enumValue)
        {
            string str = enumValue.ToString();
            System.Reflection.FieldInfo field = enumValue.GetType().GetField(str);
            object[] objs = field.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
            if (objs == null || objs.Length == 0) return str;
            System.ComponentModel.DescriptionAttribute da = (System.ComponentModel.DescriptionAttribute)objs[0];
            return da.Description;
        }
    //定义枚举
     enum RoleType
    {
        [Description("子公司负责人")]
        ZMSManager = 1,
        [Description("集团人力")]
        JTHR = 2,
        [Description("考核人")]
        AssessPerson = 3,
        [Description("订立人")]
        MakePerson = 4,
        [Description("系统管理员")]
        SysManager = 5
    }
  //调用方法
  string returnValue = GetEnumDescription((RoleType)(Enum.Parse(typeof(RoleType),"1"))); //返回值字符串:子公司负责人

参考博客:http://www.cnblogs.com/xiaofengfeng/p/4125003.html

时间: 2024-10-27 06:25:32

C# 枚举,传入int值返回string值的相关文章

OC中传入参数,返回多值(一)

看看先: // 日期格式化对象 NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; // 设置日期格式 fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 2个日期对象 NSDate *date1 = [fmt dateFromString:@"1970-01-01 00:00:01"]; NSDate *date2 = [fmt dateFromString:@"

编写函数,接受一个string,返回一个bool值,指出string是否有5个或者更多字符,使用此函数打印出长度大于等于5的元素

#include <algorithm> using namespace std; bool isFive(const string& s1) { return s1.size() >=5; } void shortFive(vector<string>& words, vector<string>::size_type sz) { auto end_five= partition(words.begin(), words.end(), isFiv

枚举|标志枚举+|(或)和&amp;(与)运算|类型转换|值类型和引用类型|传参|异常|垃圾回收

枚举部分 enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型. 通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它. 但是,还可以将枚举嵌套在类或结构中.默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1. 例1: //此枚举的默认值是从0开始 enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri}; 例2: //此枚举的默认值是从1开始,下标为3的tue值为7,从下标3开始

善于指针---使用返回指针值的函数(续)

综合举个例子来说明一下,使用返回指针值的函数,也可以理解为利用指针传递内存. 在返回指针时,除可以返回动态内存外,还可以返回静态存储区.但是不能利用指针传递桟内存,因为桟内存函数结束时也消失了,返回的会是一些垃圾内容,无效. 基础内容见:善于指针---使用返回指针值的函数 //在返回指针时,除可以返回动态内存外,还可以返回静态存储区 #include<iostream> #include<string> using namespace std; //利用指针传值 char *Tes

一个函数只能返回一个值?笑话

函数的define:若有两个变量x和y,对于x的每一个值,y都有唯一确定的值与它对应,则y与x有函数关系.一般用表示.其中x叫做自变量,y叫做因变量. 唯一的值?对啊,C语言函数中也是只能return 一个的而已,虽然你能写多个return 到C语言的函数中,可是见到第一个return 后,后面的操作都是不执行的.读者可以试试!!那么,我们怎样从一个C语言函数中得到多个值呢?我们可以用些技术吧???对的,真的可以!!!①可以利用指针,指针里放着变量的地址,如果我们改变它的指向,不就可以改变它的值

C++11函数返回右值引用

我们定义了一个可以传入右值引用的构造函数的类B,在使用std::move的时候,我们非常容易犯一个错误.看下面的代码: class B { public: B() :s(10), ptr(new int[s]) { std::cout << "default constructor" << std::endl; for (int i = 0; i < s; i++) { ptr[i] = i; } } B(const B& b) :s(b.s) {

在Fragment中OnActivityResult方法中接收Activity中返回的值

在Fragment中OnActivityResult方法中接收Activity中返回的值 在Fragment中OnActivityResult方法中接收Activity中返回的值,有需要的朋友可以参考下. 在开发android中,有些人往往很疑惑,当一个FragmentActivity中有多个碎片的时候,如a,b,c三个碎片, 其中b中进行了操作,跳转到了新的界面D(activity).但是当D操作完后,返回值到碎片b.那么问题就来了,肯定会有人问,b是一个碎片,如何才能接收到D传过来的值呢?

【转】int &amp;&amp; 非常量右值

C++ 11中引入的右值引用正好可用于标识一个非常量右值.C++ 11中用&表示左值引用,用&&表示右值引用,如: int &&a = 10 右值引用根据其修饰符的不同,也可以分为非常量右值引用和常量右值引用. C++ 11中引入的一个非常重要的概念就是右值引用.理解右值引用是学习“移动语义”(move semantics)的基础.而要理解右值引用,就必须先区分左值与右值. 对左值和右值的一个最常见的误解是:等号左边的就是左值,等号右边的就是右值.左值和右值都是针对

EFCore通过Include关联清单不存在时返回值为默认值的方式

背景 最近在使用EFCore2.1写代码的时候遇到一个问题,在最终的查询结果中有一个SinglePrice字段查询的结果总是不符合预期,按照自己的设想这个字段是主单的一个TotalFeeAfter字段和主单关联的清单其中的CouponFee合计这两者之间的差值,当然主单关联的清单可能不存在,所以当清单不存在时清单的CouponFee合计值为0,可是在使用EFCore写的代码中结果返回的总是null,显然这个不符合预期,为了交代好这一个过程,我们来看一下这个主清单BO,从而便于自己有一个主观的认知