C#是否使用 - >指针表示法?

Tho*_*oss 9 c# c++ struct pointers

我正在尝试学习C#并且我熟悉C++结构指向符号 - >我很好奇,如果它越过C#.

例:

someStruct->someAttribute += 1;
Run Code Online (Sandbox Code Playgroud)

Mac*_*cke 23

在C#中有指针符号,但仅在特殊情况下使用unsafe关键字.

使用常规对象取消引用.,但是如果要编写快速代码,则可以固定数据(以避免垃圾收集器移动周围的东西),从而"安全地"使用指针算法,然后您可能需要->.

有关在C#中的使用,请参阅指针类型(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;
}
Run Code Online (Sandbox Code Playgroud)

  • 我要补充的一点是,您可以轻松地花费数年时间作为C#开发人员,在C#经常使用的域中工作,并且从来没有任何理由使用`unsafe`代码或指针.我从来没有. (5认同)