【问题标题】:What's the equivalent of WORD in C#?C# 中 WORD 的等价物是什么?
【发布时间】:2026-02-12 02:15:01
【问题描述】:

我正在尝试访问一个非托管库,并且很幸运能够访问 API 的综合指南。

不幸的是,我不知道 C++ 的 WORD 类型的 C# 等价物是什么。同样,我不知道 DWORD 会是什么。

【问题讨论】:

  • 显然该指南不是那么全面;)

标签: c# c++ word unmanaged dllimport


【解决方案1】:

您可能正在寻找用于 WORD 的 ushort 和用于 DWORD 的 uint

【讨论】:

  • 请注意,这是正确的,因为 C# 应用程序(极)很可能在具有 C++ 数据类型宽度的机器上运行。 C++ 类型(与 C# 类型相比)并非普遍相同。但是,这种情况的例外情况不太可能发生,以至于该评论确实毫无意义。对不起。
  • 并且不要忘记ulong for QWORD,尽管 OP 没有询问这些:P
  • 一些常见的类型请参见Calling Win32 DLLs in C# with P/Invoke中的图2。
  • @Jeffrey:Windows API 根据位大小和符号定义 WORD 和 DWORD,而不是根据 C/C++ 类型,所以应该没有问题。也就是说,除非所讨论的类型不是 WinAPI 类型...
  • 我鼓励您在进行任何类型的互操作或使用来自其他来源的数据时,使用 .NET 定义的类型,如 UInt16、UInt32 和 UInt64,而不是 C# 别名。你会为自己省去很多困惑。
最近更新 更多