• 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

  • 相关阅读:
    自我知识管理
    目标管理
    产品经理的时间与情绪管理
    leetcode 88.合并两个有序数组(双指针 java)
    leetcode 680.验证回文字符串 II(双指针 java)
    leetcode 345.反转字符串中的元音字母(双指针 java)(有地方不懂)
    leetcode 633.平方数之和(双指针 java)
    leetcode167. 两数之和 II
    LeetCode 66. 加一(java)
    LeetCode 58. 最后一个单词的长度 (java)
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2328690.html
Copyright © 2020-2023  润新知