BIRDREADING *bird_data;
bird_data = &frame.reading[i];
如何在C#中声明这样的内容?
UPDATE1:
我想调用C ++ DLL / lib或用C#重写。实际上我试着在这个链接上解决我自己的问题。Use a variable directly(data return are same in an array) or with pointer? 在我将上面的内容转换为c#
之后,试试我的运气来解决问题答案 0 :(得分:4)
在c#中你可以声明一个被称为不安全编程的指针。
示例:
unsafe {
int iData = 10;
int* pData = &iData;
Console.WriteLine("Data is " + iData);
Console.WriteLine("Address is " + (int)pData );
}
答案 1 :(得分:0)
type* identifier;
这取决于BIRDREADING会不会成为参考类型?
您无法声明指向Pointer Types (C#)
中引用类型的指针以下任何类型都可能是a 指针类型:
sbyte,byte,short,ushort,int,uint,long,ulong,char,float,double,decimal或bool。
任何枚举类型。
任何指针类型 任何用户定义的结构类型,仅包含非托管类型的字段。
因此,对于您的示例,给予BIRDREADING统计上述
BIRDREADING *bird_data;
另外,你想用指针做什么?你确定需要指针吗?
答案 2 :(得分:0)
如果BIRDREADING
是一个类,它根据定义是一个指针,你不需要做任何特别的事情:
BIRDREADING bird_data;
bird_data = frame.reading[i];
如果它是一个结构,那么获得它的意义取决于上下文。