位域[Flags]
关于位域的东西,网上讲的人很多,不少人写的很不错,建议大家可以去看这两篇文章:C# 位域[Flags]和简要介绍C#位域(flags)的相关知识,这两个看下,关于位域的东西基本上应该基本ok了,这里补充说明一些自己学到的心得,看代码:
[Flags]
public enum MediaFlags
{
//注意一下这个None
None = 0,
NewAdd = 1,
Upload = 1 << 1,
MovePlace = 1 << 2,
Delete = 1 << 3,
}
这里定义的枚举MediaFlags和平时大家用的基本没区别,唯一不一样的就是把0定义成了枚举值之一None,这样也没有太多好处,也不会有坏处(个人认为),不过在写代码过程中可能会更明了,如:
(mediaFlag & (MediaFlags.NewAdd | MediaFlags.Delete | MediaFlags.Upload)) == MediaFlags.None;

浙公网安备 33010602011771号