C# 位域[flags] 转】的更多相关文章

C# 位域[flags] .NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,例如:          //是否显示工具箱 }   这样我们就可以用"或"运算符组合多个状态,例如 myControl.Style = Styles.ShowBorder | Styles.ShowCaption;   这时myControl.Style枚举的值将变成 1+2=3,它的ToStr…
.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,例如: [Flags]   enum Styles{   ShowBorder = 1,         //是否显示边框  ShowCaption = 2,        //是否显示标题  ShowToolbox = 4         //是否显示工具箱  }   这样我们就可以用"或"运算符组合多个状态,例如 my…
.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,例如: [Flags]   enum Styles{   ShowBorder = 1,         //是否显示边框  ShowCaption = 2,        //是否显示标题  ShowToolbox = 4         //是否显示工具箱  }   这样我们就可以用"或"运算符组合多个状态,例如 my…
本文参考自C# 位域[flags],纯属读书笔记,加深记忆 [Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了.另外一个是在引用COM组件时使用,我没有用过,你可以查看MSDN 这种用处很大,比如权限.执行状态等,都可以用一个int型保存到数据库中,C#中使用枚举可以处理这个问题. .Net中的枚举一般有两种用法 (1).表示唯一的元素序列,列入一周天里面…
class Program { [Flags] public enum Week { [Description("星期一")] Monday = << , [Description("星期二")] Tuesday = << , [Description("星期三")] Wednesday = << , [Description("星期四")] Tursday = << , [De…
枚举提供成组的常数值,它们有助于使成员成为强类型以及提高代码的可读性.在 C# 中,使用 enum 来声明枚举. 枚举分为简单枚举和标志枚举两种. 基本语法示例 enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; 以下格式也可以: enum Day {     Sun,     Mon,     Tue,     Wed,     Thu,     Fri,     Sat }; 枚举类型 枚举类型可以是:byte.sbyte.short.ushort…
[Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了. 另外一个是在引用COM组件时使用, .NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,例如:你可以查看MSDN 对于前面一种的话就是可以使用不带[flags]后面一种的话就是可以带[Fla…
.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,这样我们就可以用"或"运算符组合多个状态. 例如: [Flags] public enum Permission { create = 1, read = 2, update = 4, delete = 8, } Permission permission = Permission.create | Permission.read | Pe…
所谓的位域就是说利用一个整形数字二进制下不同的标志位来使一个枚举变量可以记录多个信息. 例如现在有一个定义好的位域枚举: [Flags] public enum FlagEnum { 我是第一个=, 我是第二个=, 我是第三个= } 单个枚举的赋值和普通枚举是一样的,直接给就好了: FlagEnum status = FlagEnum.我是第一个; 再向其中添加其它枚举,则使用按位或运算: status |= FlagEnum.我是第二个 | FlagEnum.我是第三个; 去除某个枚举值可以使…
一.概述 定义一个值类型,其中包含固定值集合.枚举类型变量可以是此集合中的任意一个或多个值.枚举使用enum关键字来声明,与类同级.枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符.枚举本身的修饰符仅能使用public和internal. 二.常数枚举 1.定义枚举类型 显式指定枚举的底层数据类型,如果没有明确指定底层数据类型则默认的数据类型是int类型. enum sex : byte //显示指定枚举的底层数据类型 { male, female, //此逗号可以省略 }; /…