如何在c#中传递字符串到整型指针

本文关键字:字符串 整型 指针 | 更新日期: 2023-09-27 18:02:17

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

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

如何传递hline作为参数?

如何在c#中传递字符串到整型指针

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

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

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