C#枚举中使用Flags特性
2017-03-07 09:07
232 查看
如果对一个值可以包含多个,那么可以使用枚举,加上Flags
本文告诉大家如何写一个 Flags。
<!--more-->
在写前,需要知道一些基础知识,取反、或、与,如果不知道的话,请去看看基础。
当然,这些太复杂了,我也不会在这里解释。
假如有类型
参见:http://www.cnblogs.com/jhxk/articles/1738831.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
本文告诉大家如何写一个 Flags。
<!--more-->
在写前,需要知道一些基础知识,取反、或、与,如果不知道的话,请去看看基础。
当然,这些太复杂了,我也不会在这里解释。
假如有类型
[Flags] public enum Show { A = 0x00000001, B = 0x00000010, C = 0x00000100, D = 0x00001000, }
合并多个值
合并多个,使用|
Show show=Show.A | Show.B
判断是否存在某个值
一个简单方法是用 HasFlag,但是一个方法是用&
Show show=Show.A | Show.B;
show.HasFlag(Show.A);
//其他
bool 包含=(show & Show.A)!=0;
去掉一个值
Show show=Show.A | Show.B;
show=show & (~Show.A);
取反一个值
Show show=Show.A | Show.B;
bool 包含=(show & Show.A)!=0;
if(包含)
{
show=show & (~Show.A);
}
else
{
show=show | Show.A;
}
参见:http://www.cnblogs.com/jhxk/articles/1738831.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
相关文章推荐
- C#枚举中使用Flags特性
- C#枚举中使用Flags特性
- C#枚举中使用Flags特性
- C#枚举中使用Flags特性
- 枚举关于Flags特性的使用
- .NET中Flags枚举的使用
- 艾伟:.NET中Flags枚举的使用
- .NET中Flags枚举的使用
- 按位枚举(flags)的使用
- 枚举类型特别实用的特性(在switch语句内使用)
- C++11新特性(三)Strongly-typed enums 强类型枚举简单使用
- C#特性学习与使用(为枚举定义Description)
- 枚举类型特别实用的特性(在switch语句内使用)
- .NET中Flags枚举的使用
- 使用反射来获取枚举的名称、值和特性
- C#特性学习与使用(为枚举定义Description)
- .NET中Flags枚举的使用
- .NET中Flags枚举的使用
- .NET(C#):使用反射来获取枚举的名称、值和特性【转】
- .NET中Flags枚举的使用