博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Enum一点使用总结
阅读量:7069 次
发布时间:2019-06-28

本文共 1028 字,大约阅读时间需要 3 分钟。

枚举很有用, 总结一下它的两个重要操作和用途, 如下:

1.字符串转为Enum类型:

2.枚举作为标志

 

参考代码:

    public enum MaleRoleEnum { Male=1, Husband=2, Father=3, Sun=4, Manager=5 }
    class Program
    {
        static void Main(string[] args)
        {
            MaleRoleEnum lzd = MaleRoleEnum.Male | MaleRoleEnum.Father;            
            Console.WriteLine((int)lzd);

            Console.WriteLine(Enum.IsDefined(typeof(MaleRoleEnum), "Malse"));

 

            MaleRoleEnum mre = (MaleRoleEnum)Enum.Parse(typeof(MaleRoleEnum), "Mals");  //will throw Exception: Requested value 'Mals' was not found.

            Console.WriteLine(mre);

 

            MaleRoleEnum mre1;

            if (Enum.TryParse<MaleRoleEnum>("Males", out mre1)) //使用Ref的时候必须要先赋值,而out并不需要。
            {
                Console.WriteLine(mre1);
            }
            else
            {
                Console.WriteLine("转换失败");
            }      }
    }

启示1:

用Enum.Parse或Enum.TryParse方法, 用Parse时如果用未定义的枚举值转换则会报异常, 所以, 如果不用TryParse就要用trycatch捕捉异常;

 

启示2:

因为某些枚举可以重复复合, 可以用&位与和|位或.

推荐资料: C#基础:ref和out的区别

在C#中,方法的参数传递有四种类型:传值(by value),传址(by reference),输出参数(by output),数组参数(by array)。传值参数无需额外的修饰符,传址参数需要修饰符ref,输出参数需要修饰符out,数组参数需要修饰符params。

 

位运算的效率及应用

 

转载于:https://www.cnblogs.com/liuzhendong/archive/2012/01/21/2328690.html

你可能感兴趣的文章
pycharm Startup Error: Application cannot start in headless mode
查看>>
vue-03
查看>>
NG-ZORRO 7.1.0 发布,Ant Design 的 Angular 实现
查看>>
jQuery图片垂直滚动焦点图
查看>>
使用镜像搭建WordPress网站过程
查看>>
【对讲机的那点事】你了解TETRA数字集群通信系统组网的模式吗?
查看>>
【问答集锦】技术与运营的多面手赵亚飞,内存溢出怎么处理?
查看>>
jQuery选择器总结
查看>>
阿里最全面试116题:阿里天猫、蚂蚁金服、阿里巴巴面试题含答案
查看>>
elasticsearch的score相关资料(整理)
查看>>
SQL Tune Report&ndash;sqltrpt.sql
查看>>
Cobbler
查看>>
JNI开发极简教程
查看>>
Bugku -代码审计(urldecode二次编码绕过)
查看>>
Auto Layout 使用心得(五)—— 根据文字、图片自动计算 UITableViewCell 高度
查看>>
Linux命令参数详细解析-cp
查看>>
python爬取糗事百科
查看>>
Java 创建文件
查看>>
dubbo之基础应用
查看>>
javax.persistence.RollbackException: Transaction marked as rollbackOnly Ask
查看>>