问题标签 [enum-flags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1342 浏览

c# - 用于检查枚举是否设置了标志的 C# 扩展方法

我想制作一个扩展方法来检查枚举是否有标志。

我怎样才能做到这一点?(如果有一个类已经这样做了,那么我将不胜感激解释如何编码;我已经把这个方法搞得太久了!)

提前致谢

0 投票
18 回答
77271 浏览

c# - 如何迭代具有标志的枚举的值?

如果我有一个包含标志枚举的变量,我可以以某种方式迭代该特定变量中的单位值吗?还是我必须使用 Enum.GetValues 来遍历整个枚举并检查设置了哪些?

0 投票
1 回答
1295 浏览

c# - WSDL:如何使用 C# FlagsAttribute 创建枚举?

基本上,我创建了我的 WSDL 并添加了一个带有枚举值的 SimpleType:A、B、C。当我使用此 wsdl 构建我的服务时,我希望使用 构建我的枚举FlagsAttribute,但是如何在我的 wsdl 中指定它呢?

我正在使用 svcutil.exe 来生成我的 C# 代码。

更新:我正在使用 svcutil.exe 构建我的服务器端代码。我这样做是通过调用:svcutil.exe "Foo.wsdl" "global.xsd"。但是,我不确定如何正确标记我的 wsdl/xsd 标签,以便生成的代码如下所示:

0 投票
2 回答
1522 浏览

c# - FlagsAttribute 枚举问题

所以我正在构建一个 MSNP(windows live messenger)客户端。我有这个能力列表

完整列表在这里http://paste.pocoo.org/show/383240/

服务器将每个用户的能力作为长整数发送给客户端,我将其转换为 UserCapabilities

这很好,并且至少有一个用户(能力值为 1879474220),我可以做到

这将输出

但是对于另一个具有(3055849760)能力值的用户,当我这样做时,我只会输出相同的数字

我希望看到的是功能列表,就像其他用户一样。

我确信发生这种情况是有充分理由的,但无论我多么努力地向 Google 提出这个问题,我都找不到答案。

请帮我 :)

0 投票
8 回答
5645 浏览

c# - 如何获得枚举的所有可能组合(标志)

我需要能够以某种方式遍历每个可能的设置并将设置组合传递给函数。可悲的是,我一直无法弄清楚如何做到这一点

0 投票
2 回答
3811 浏览

c# - 在 C# 中将字符串转换为标志枚举

设备将其限位开关的状态报告为一系列 1 和 0(表示包含“010111110000”的字符串)。这些开关的理想表示是这样的标志枚举:

是否可以将字符串表示形式转换为枚举?如果是这样,怎么做?

0 投票
4 回答
23528 浏览

c# - 如何设置枚举标志的所有位

我想知道一种将标志的所有位设置enum为 1 的通用方法。我只想有一个enum返回所有比较的方法,而不管其他枚举如何。

这段代码有效;

但是在上面的代码中,因为它是 uint 我们设置了“F”的数量,如果它是int.

所以我会欣赏一种将标志的所有位设置enum为 1 的通用方法,无论数据类型如何(intint64uint

0 投票
2 回答
7441 浏览

wpf - 在 XAML 中设置多个枚举标志

有没有办法在 XAML 中设置多个枚举标志(传统上在代码隐藏中由 | 分隔)?我试过类似的东西:

但这没有用。

0 投票
3 回答
161 浏览

c# - 为什么 C# 中的标志枚举没有实现运算符 << 和 >>?

我想做这样的事情,但我不能:

这样做是为了什么?

0 投票
3 回答
2173 浏览

c# - 使用标志枚举获取权限有什么缺点?

在尝试为 Web 应用程序实现基于角色的安全性时,我在数据库中有一个表,用于权限、角色、用户和用户角色(即用户对角色的分配)。

每个角色都有一组权限。权限被定义为 C# 标志枚举,其值为 0、1、2、4 等。

在数据库中,角色表有一个 int 字段,用于存储角色的组合权限标志。(这样我们就可以避免使用单独的权限表(这是好还是坏?)和 RolePermissions 的一对多表。

在代码中,我通过计算分配给用户的角色的有效权限来检查用户是否具有访问权限。在 .NET 中,通过对枚举标志执行逻辑操作很容易做到这一点。

所以我的问题是:

这样做有什么缺点吗(与拥有 Permission 表和 RolePermission 链接表(对于授予角色的每个权限包含 1 条记录)相反)?