我正在尝试学习 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/