public List<string> GetPDFValues() { List<string> strs = new List<string>(); unsafe { var len = 0; //调用c++ 返回char** var a = GaussianDistributionServiceProxy.GetPDFValues(); var cx = 0; //获取char**指针长度 start while (true) { var result = Marshal.PtrToStringAnsi((IntPtr)(*(a + cx))); if (result == null) { len = cx - 1; cx = 0; break; } cx++; }
//获取char**指针长度 end
//char** 转换为List<string>for (int i = 0; i < len; i++) { string s = Marshal.PtrToStringAnsi((IntPtr)a[i]); strs.Add(s); } } return strs; }
时间: 2024-08-02 21:56:27