主要内容

使用.NET枚举使用位标志

如何MATLAB万博1manbetx支持位于系统

许多.NET语言支持对用枚举定义的枚举万博1manbetxSystem.Flags属性。matlab®语言没有等效操作,因此提供了实例方法,用于对枚举对象执行位操作。位方法是bitand,,,,咬伤,,,,比尔, 和Bitxor

枚举可以定义位标志。一个位标志可让您创建枚举的实例,以存储成员定义的值组合。例如,文件和文件夹具有属性,例如档案,,,,, 和只读。对于给定文件,请根据这些属性中的一个或多个执行操作。使用位运算符,您可以创建和测试组合。

要使用位运算符,枚举必须具有:

  • 标志属性。在框架版本4中,这些枚举也有hasflag方法。

  • 与功率相对应的值2

创建.NET枚举位标志

使用MATLAB示例,netdocenum.mydays枚举,在以下示例中。

假设您有以下计划活动:

  • 星期一 - 部门会议,10:00

  • 星期三和星期五 - 2:00的团队会议

  • 周四— Volley ball night

You can combine members of the我的日子枚举以创建MATLAB变量比尔方法,加入两个成员。例如,创建变量Teammtgs团队会议日,类型:

teammtgs = bitor(...netdocenum.mydays.friday,...netdocenum.mydays.wednesday);

创建一个变量allmtgs会议的所有日子:

allmtgs = bitor(Teammtgs,...netdocenum.mydays.monday);

要查看哪个天属于每个变量,请输入:

Teammtgs allmtgs
Teammtgs =星期三,星期五allmtgs =星期一,星期三,星期五

从变量中删除标志

假设您的经理取消了本周的星期三会议。去除周三来自allmtgs变量,使用Bitxor方法。

thisweekmtgs = bitxor(allmtgs,netdocenum.mydays.wednesday)
thisweekmtgs =星期一,星期五

使用诸如Bitxoronallmtgs不修改allmtgs。此示例创建一个变量,这周,其中包含操作的结果。

在变量中更换标志

假设您从周三周四。去除周三,,,,useBitxor,并使用比尔添加周四。由于这是一个永久更改,请更新Teammtgsandallmtgs变量。

teammtgs = bitor(...(bitand(Teammtgs,...bitnot(netdocenum.mydays.wednesday))),),...netdocenum.mydays.thursday);allmtgs = bitor(Teammtgs,...netdocenum.mydays.monday);Teammtgs allmtgs
Teammtgs =星期四,星期五allmtgs =星期一,星期四,星期五

测试会员资格

创建以下内容提醒我功能:

功能Remindme(Day)%day = netdocenum.mydays枚举teammtgs = bitor(...netdocenum.mydays.friday,...netdocenum.mydays.wednesday);allmtgs = bitor(Teammtgs,...netdocenum.mydays.monday);如果等式(Day,bitand(Day,Teammtgs))disp(“今天的团队会议。”Elseif等式(Day,bitand(Day,allmtgs))disp('Meeting today.'别的disp('No meetings today!'结尾结尾

使用提醒我功能:

今天= netdocenum.mydays.monday;Remindme(今天)
今天开会。

也可以看看

|||

Related Topics