在C#中,什么是与WORD等效的内容?

20

我正在尝试访问一个非托管库,很幸运有一份详细的API指南。

不幸的是,我不知道C#中与C++的WORD类型相对应的内容。同样,我也不知道DWORD对应什么。


2
显然,这个指南并不是那么全面。 - R. Martinho Fernandes
1个回答

40

你可能需要使用 ushort 代表 WORD 和 uint 代表 DWORD。


9
请注意,这只是因为C#应用程序极有可能在使用与C++数据类型相同的宽度的计算机上运行而是正确的。与C#类型不同,C++类型并非普遍相同。虽然也有例外情况,但这种情况非常罕见,所以这个注释实际上没有什么意义。抱歉。 - Jeffrey L Whitledge
3
请不要忘记为 QWORD 使用 ulong,虽然原帖并没有提到这些 :P。 - Edurne Pascual
3
请参考在C#中使用P/Invoke调用Win32 DLL文章中的第二张图表,其中列出了一些常见的类型。 - Randy Levy
4
@Jeffrey:Windows API 根据位大小和符号来定义 WORD 和 DWORD,而不是根据 C/C++ 类型,所以应该没有问题。也就是说,除非涉及的类型不是 WinAPI 类型... - R. Martinho Fernandes
10
在进行任何交互操作或使用来自其他来源的数据时,我建议您使用.NET定义的类型,如UInt16、UInt32和UInt64,而不是C#别名。这将避免许多困惑。 - Jim Mischel
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接