【问题标题】:C# AuthenticationTypes?C# 身份验证类型?
【发布时间】:2015-10-16 09:50:31
【问题描述】:

我在一段使用 Microsoft Active Directory 的代码中遇到以下行:

const AuthenticationTypes ADS_EDMSERVER_BIND = (AuthenticationTypes)0x8000;

这条线到底是什么意思?特别是0x8000是什么意思?

【问题讨论】:

  • 0x8000 可能是 32768 的十六进制数
  • @NikolaiSamteladze 如果是 32768,在这种情况下它的用途是什么?
  • 你的意思是使用十六进制而不是整数的目的是什么?
  • 是的。另外,数字说明了什么?
  • 请看我的回答。该数字只是指定了一些AuthenticationTypes 值,或者可以用作位操作中的掩码(例如|&)。需要查看AuthenticationTypes 枚举的外观以及ADS_EDMSERVER_BIND 的外观以提供更多详细信息。

标签: c# authentication active-directory


【解决方案1】:

0x8000 只是整数32768 的十六进制表示。所以这行代码本质上定义了一个可枚举类型的常量AuthenticationTypes,其值为32768。该数字只是指定了一些 AuthenticationTypes 值,或者可以用作位操作中的掩码(例如 | 或 &)。

十六进制表示有时用于提高可读性或显示与二进制值的关系(有一个很好的讨论here)。最简单的例子是用于掩码或位运算符的常量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多