【发布时间】:2011-08-30 02:20:55
【问题描述】:
我正在尝试实现三层深层数据结构。这很容易做到,直到您添加能够在孩子和/或田地周围移动的要求,然后它变成了一场噩梦。
父(索引,ID)-> 子(索引)-> 字段(索引,字符串)
例如,数据可能如下所示:
- 块 1(“块 1”)
- 孩子1
- 字段1(“你好”)
- Field2(“世界”)
- 孩子2
- 字段1(“一”)
- 字段2(“二”)
- Field3(“三”)
- Block2(“Block2”)
- 孩子1
现在我可以通过为 Parent 和 Field 创建一个包含 ArrayList 和 String 的结构来实现这一点,而对于 Children 则只包含一个 Arraylist,但是当我需要例如反转 Field1 和 Field2 时,它变得既困难又昂贵。
这整个事情在像 C++ 这样的语言中似乎很容易,因为我可以将所有字段转储到一个巨大的数据块中,然后使用指针来引用字段的位置......然后如果我想切换字段,孩子,或者父母,我只要改变指针,它就很便宜。
以前有人在 C# 中见过这种数据模式吗?是否有“标准”方式来实现这一点?
【问题讨论】:
-
为什么你不能这样做,但使用引用而不是指针?
标签: c#