C# 代码逐行中文注释:枚举和选项设置示例
using System;
[Flags]
enum CardDeckSettings : uint
{
SingleDeck = 0x01, // 单副牌,第0位为1
LargePictures = 0x02, // 大图案,第1位为1
FancyNumbers = 0x04, // 精美数字,第2位为1
Animation = 0x08 // 动画,第3位为1
}
class MyClass
{
bool UseSingleDeck = false, // 使用单副牌,默认为false
UseBigPics = false, // 使用大图案,默认为false
UseFancyNumbers = false, // 使用精美数字,默认为false
UseAnimation = false, // 显示动画,默认为false
UseAnimationAndFancyNumbers = false; // 显示动画和精美数字,默认为false
public void SetOptions(CardDeckSettings ops)
{
UseSingleDeck = ops.HasFlag(CardDeckSettings.SingleDeck); // 判断是否设置了单副牌选项
UseBigPics = ops.HasFlag(CardDeckSettings.LargePictures); // 判断是否设置了大图案选项
UseFancyNumbers = ops.HasFlag(CardDeckSettings.FancyNumbers); // 判断是否设置了精美数字选项
UseAnimation = ops.HasFlag(CardDeckSettings.Animation); // 判断是否设置了动画选项
CardDeckSettings testFlags =
CardDeckSettings.Animation | CardDeckSettings.FancyNumbers; // 定义一个测试标志,包含动画和精美数字
UseAnimationAndFancyNumbers = ops.HasFlag(testFlags); // 判断是否同时设置了动画和精美数字选项
}
public void PrintOptions()
{
Console.WriteLine('Option settings:'); // 输出选项设置
Console.WriteLine($' Use Single Deck - { UseSingleDeck }'); // 输出是否使用单副牌选项
Console.WriteLine($' Use Large Pictures - { UseBigPics }'); // 输出是否使用大图案选项
Console.WriteLine($' Use Fancy Numbers - { UseFancyNumbers }'); // 输出是否使用精美数字选项
Console.WriteLine($' Show Animation - { UseAnimation }'); // 输出是否显示动画选项
Console.WriteLine(' Show Animation and FancyNumbers – {0}', UseAnimationAndFancyNumbers); // 输出是否同时显示动画和精美数字选项
}
}
class Program
{
static void Main()
{
MyClass mc = new MyClass(); // 创建一个 MyClass 实例
CardDeckSettings ops = CardDeckSettings.SingleDeck // 设置选项为单副牌、精美数字、动画
| CardDeckSettings.FancyNumbers
| CardDeckSettings.Animation;
mc.SetOptions(ops); // 设置选项
mc.PrintOptions(); // 打印选项设置
}
}
原文地址: http://www.cveoy.top/t/topic/b2C4 著作权归作者所有。请勿转载和采集!