zoukankan      html  css  js  c++  java
  • Enum一点使用总结

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

    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的区别
    http://www.cnblogs.com/gjahead/archive/2008/02/28/1084871.html

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

    位运算的效率及应用

    http://space.flash8.net/space/?18713/viewspace-352330.html

  • 相关阅读:
    人工智能芯片支持超低功耗器件的推理
    新十年嵌入式音频的五大趋势
    面向汽车应用的硬件推理芯片
    MySQL优化技巧总结
    JAVA集合类汇总
    为什么HashMap初始大小为16,为什么加载因子大小为0.75,这两个值的选取有什么特点?
    ztree 树状图——例
    amazeUI表单提交验证--input框required
    bigcolorpicker 颜色拾取器插件——例
    博客园-去掉皮肤
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2328690.html
Copyright © 2011-2022 走看看