tbugs的要求其实很简单
struct呢, 会实现完全的数据copy, 而不是拷引用。
我们知道class实际上拷的是引用。
但是struct不允许在里面用自己做parent。
class可以, 但是又不好控制Array.Copy时候的拷贝。
因此, 他,
大概就是要开放这样的写法:
- namespace ConsoleApplication12
- {
- unsafe class Program
- {
- static void Main(string[] args)
- {
- Point parent = new Point()
- {
- Width = 5,
- Height = 3
- };
- Point child = new Point()
- {
- Width = 7,
- Height = 8,
- parent = &parent
- };
- Console.WriteLine(child.parent->Width);
- Console.WriteLine(child.parent->Height);
- }
- }
- public unsafe struct Point
- {
- public int Width;
- public int Height;
- public Point* parent;
- }
复制代码 |