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

 

posted on 2012-01-21 22:18  BobLiu  阅读(461)  评论(0编辑  收藏  举报