如何在C#中将String传递给整数指针

时间:2013-03-04 08:44:56

标签: c# pointers

我的方法有IntPtr作为参数。现在我有一个字符串“EXT101”,我需要将其作为参数传递给函数参数。以下是我的功能和我尝试过但它不起作用。

unsafe private static extern int lineDevSpecific(IntPtr hLine); 
string vline="Ext101"; 
int* hline=&vline; 

如何传递hline作为参数?

2 个答案:

答案 0 :(得分:0)

猜测,我会说EXT101是预处理器定义的常量。没有简单的方法来获得它,因为它在编译后不再作为名称存在。您需要查看您尝试链接的任何库的头文件以查找值。

答案 1 :(得分:0)

请注意,IntPtr不是指向int的指针。它是由签名的本机整数表示的指针。也许你想在内存中获得指向这个字符串的指针:

string vline="Ext101";
IntPtr hline = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(vline);
lineDevSpecific(hline);