本文整理汇总了C#中System.FlagsAttribute类的典型用法代码示例。如果您正苦于以下问题:C# FlagsAttribute类的具体用法?C# FlagsAttribute怎么用?C# FlagsAttribute使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FlagsAttribute类属于System命名空间,在下文中一共展示了FlagsAttribute类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: Main
//引入命名空间
using System;
class Example
{
// Define an Enum without FlagsAttribute.
enum SingleHue : short
{
None = 0,
Black = 1,
Red = 2,
Green = 4,
Blue = 8
};
// Define an Enum with FlagsAttribute.
[Flags]
enum MultiHue : short
{
None = 0,
Black = 1,
Red = 2,
Green = 4,
Blue = 8
};
static void Main( )
{
// Display all possible combinations of values.
Console.WriteLine(
"All possible combinations of values without FlagsAttribute:");
for(int val = 0; val <= 16; val++ )
Console.WriteLine( "{0,3} - {1:G}", val, (SingleHue)val);
// Display all combinations of values, and invalid values.
Console.WriteLine(
"\nAll possible combinations of values with FlagsAttribute:");
for( int val = 0; val <= 16; val++ )
Console.WriteLine( "{0,3} - {1:G}", val, (MultiHue)val);
}
}
开发者ID:.NET开发者,项目名称:System,代码行数:41,代码来源:FlagsAttribute 输出:
All possible combinations of values without FlagsAttribute:
0 - None
1 - Black
2 - Red
3 - 3
4 - Green
5 - 5
6 - 6
7 - 7
8 - Blue
9 - 9
10 - 10
11 - 11
12 - 12
13 - 13
14 - 14
15 - 15
16 - 16
All possible combinations of values with FlagsAttribute:
0 - None
1 - Black
2 - Red
3 - Black, Red
4 - Green
5 - Black, Green
6 - Red, Green
7 - Black, Red, Green
8 - Blue
9 - Black, Blue
10 - Red, Blue
11 - Black, Red, Blue
12 - Green, Blue
13 - Black, Green, Blue
14 - Red, Green, Blue
15 - Black, Red, Green, Blue
16 - 16
示例2: Main
//引入命名空间
using System;
[Flags]
public enum PhoneService
{
None = 0,
LandLine = 1,
Cell = 2,
Fax = 4,
Internet = 8,
Other = 16
}
public class Example
{
public static void Main()
{
// Define three variables representing the types of phone service
// in three households.
var household1 = PhoneService.LandLine | PhoneService.Cell |
PhoneService.Internet;
var household2 = PhoneService.None;
var household3 = PhoneService.Cell | PhoneService.Internet;
// Store the variables in an array for ease of access.
PhoneService[] households = { household1, household2, household3 };
// Which households have no service?
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has phone service: {1}",
ctr + 1,
households[ctr] == PhoneService.None ?
"No" : "Yes");
Console.WriteLine();
// Which households have cell phone service?
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has cell phone service: {1}",
ctr + 1,
(households[ctr] & PhoneService.Cell) == PhoneService.Cell ?
"Yes" : "No");
Console.WriteLine();
// Which households have cell phones and land lines?
var cellAndLand = PhoneService.Cell | PhoneService.LandLine;
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has cell and land line service: {1}",
ctr + 1,
(households[ctr] & cellAndLand) == cellAndLand ?
"Yes" : "No");
Console.WriteLine();
// List all types of service of each household?//
for (int ctr = 0; ctr < households.Length; ctr++)
Console.WriteLine("Household {0} has: {1:G}",
ctr + 1, households[ctr]);
Console.WriteLine();
}
}
开发者ID:.NET开发者,项目名称:System,代码行数:60,代码来源:FlagsAttribute 输出:
Household 1 has phone service: Yes
Household 2 has phone service: No
Household 3 has phone service: Yes
Household 1 has cell phone service: Yes
Household 2 has cell phone service: No
Household 3 has cell phone service: Yes
Household 1 has cell and land line service: Yes
Household 2 has cell and land line service: No
Household 3 has cell and land line service: No
Household 1 has: LandLine, Cell, Internet
Household 2 has: None
Household 3 has: Cell, Internet
注:本文中的System.FlagsAttribute类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论