【发布时间】:2021-08-14 20:35:00
【问题描述】:
首先是一些上下文。 Revit 是建筑师使用的软件,它有一个 API,您可以使用它来自动执行某些任务,您可以做的事情之一是创建一个看起来像正常 Revit 弹出窗口的对话框。
这个对话框有一个CommonButton 属性,它添加了默认按钮,如是、否、取消和确定,但我从未见过这个字符 | 以这种方式使用。它是什么意思或做什么?它实际上是怎么称呼的?
td.CommonButtons = TaskDialogCommonButtons.No | TaskDialogCommonButtons.Yes | TaskDialogCommonButtons.Cancel;
td 是您的 TaskDialog 对象
这将为您的对话框添加“是”、“否”和“取消”按钮。
我已经搜索过这个没有运气,我只能找到 if 语句的“或”逻辑门,似乎不适用于这个。除了在这个 Revit 上下文中,我也没有在其他任何地方看到它(反正我不是一个全职程序员)。谢谢
【问题讨论】:
-
"or" ... doesn't seem to apply to this- 为什么不呢? -
它被称为logical OR operator - 在这种情况下,它将对给定的枚举值执行按位或
-
请注意,C# 中有两个 OR 运算符。如果在两个整数值之间应用
|,它会计算两个操作数并在组成它们的位之间进行按位或(例如:5 | 1 == 5而5 | 2 == 7)。一个有趣的副作用是,如果你在两个布尔值之间使用|,你最终会得到一个非短路的 OR。更熟悉的||OR 运算符仅对布尔值进行操作。它是短路的(如果第一个操作数被评估为true,则永远不会评估第二个操作数)