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

标签 c# c++ pointers struct

我正在尝试学习 C#,我熟悉 C++ 结构指向符号 ->。我很好奇这是否适用于 C#。

例子:

someStruct->someAttribute += 1;

最佳答案

C# 中有指针表示法,但仅在特殊情况下使用unsafe 关键字。

常规对象使用 . 取消引用,但如果您想编写快速代码,您可以固定数据(以避免垃圾收集器四处移动东西),从而“安全地”使用指针算法,并且那么您可能需要 ->

参见 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;
}

关于c# - C# 是否使用 -> 指针表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405212/

相关文章:

c# - Amazon Order API 或 Report API 获取 SKU 编号和销售总量?

c# - 如何处理托管 C++ (/CLR) 中 #using 语句中的错误

c++ - 'implicit sharing' 是否可从 Qt 类继承?

c++ - 访问指针 vector

c# - SqlMembershipProvider 管理

c# - 如何将 “using” 语句添加到 System.Data.Entity 命名空间

c++ - 根据 “T”是否具有成员函数 “myfunc”来重载函数模板?

c++ - 不确定是否了解 move 构造函数的优势(或其工作原理或使用方式)

c - 双指针指针

c++ - 无法使用指针写入 MMF