32 lines
445 B
C#
32 lines
445 B
C#
unsafe
|
|
{
|
|
A a = new();
|
|
a.a->i = 1;
|
|
Console.WriteLine(a.i);
|
|
Console.WriteLine(a.a->i);
|
|
|
|
A b = new();
|
|
b.a->i = 1;
|
|
Console.WriteLine(b.i);
|
|
Console.WriteLine(b.a->i);
|
|
b.i = 2;
|
|
}
|
|
|
|
unsafe struct A
|
|
{
|
|
public A()
|
|
{
|
|
// ReSharper disable once LocalVariableHidesMember
|
|
fixed (A* a = &this)
|
|
{
|
|
this.a = a;
|
|
}
|
|
|
|
i = 0;
|
|
}
|
|
|
|
public A* a;
|
|
|
|
public int i;
|
|
}
|