我正在尝试学习C#,我熟悉C结构指向符号 – >如果跨越C#,我很好奇.
例:
someStruct->someAttribute += 1;
解决方法
C#中有指针符号,但在特殊情况下,使用不安全的关键字.
常规对象被使用取消引用,但如果要编写快速代码,则可以将数据引导(以避免垃圾收集器移动垃圾内容),从而“安全”使用指针算术,然后可能需要 – >.
请参阅Pointer types (C# Programming Guide),并在this example上略有下降 – >在C#中.
它看起来像这样(从最后一个链接):
struct MyStruct { public long X; public double D; } unsafe static void foo() { var myStruct = new MyStruct(); var pMyStruct = & myStruct; // access: (*pMyStruct).X = 18; (*pMyStruct).D = 163.26; // or pMyStruct->X = 18; pMyStruct->D = 163.26; }