C#中C ++引用类型的等价物

时间:2009-09-17 18:20:11

标签: c# char const

我在C#应用程序中使用C ++编写的dll。

的等价物是什么
  1. char const *
  2. unsigned short
  3. 在C#中

    感谢

3 个答案:

答案 0 :(得分:5)

  • C ++中的char*可以有不同的含义,例如:指向字节数组或ANSI编码的以null结尾的字符串的指针。因此,它取决于您的数据的含义如何将值组合到C#。唯一明确没有错的答案是:它是IntPtr

  • C ++中的unsigned short通常是16位无符号整数:UInt16(或C#中的ushort

答案 1 :(得分:2)

我看了你的问题的代码和我认为我的措辞更好(检查意图)。如果是这样,您正在寻找:

  1. stringbyte[],具体取决于C代码中变量的使用方式。
  2. ushort假设您的C编译器生成的 unsigned short为16位。在C#中,ushort始终为16位(uint始终为32位)。恭喜MS最终在这里给我们一些一致性。 :)

答案 2 :(得分:0)

要调用通过DLLImport公开的方法,您需要使用IntPtr类型作为指针。

请记住,在C ++中,char *实际上是一个指向内存的指针,通常由4个字节的int。

表示