【发布时间】:2018-09-05 21:30:24
【问题描述】:
这是为 c# 编写的
我是一只老恐龙,从 70 年代开始编写 360 汇编程序,尝试为 PC 编写东西。一路上,我正在用现有的基础设施替换我自己的旧写。
这就是我现在所拥有的。两个对象,系统和行星。 System 中的一个字段有一个指向下一个 System 的指针,还有第二个 System 链满足当前的选择标准。 System 也有一个指向 Planet 的指针,Planet 有一个指向下一个 Planet 的指针。行星也有所有行星的链。
现在是问题。我是否应该使用列表并让 C# 处理所有链接等。我很确定 1 个对象实例可以在多个列表中,所以我可以拥有所有系统的 1 个列表和所选系统的第二个列表。加上系统中的行星列表和所有行星的另一个列表。
我也想把这个烂摊子保存到磁盘上。我花了一些时间研究序列化,它似乎很适合将所有实例保存在一个列表中,但是当您想要序列化多个类时,事情就会崩溃。我是否错过了一些基本的东西,只是一个“是”会让我重新开始寻找,还是我必须自己动手?
我不想要代码示例,只是朝着我应该看的方向轻轻一推。
【问题讨论】:
-
链表现在几乎只存在于学术书籍和采访中。至于序列化,您可以通过使用关键字
c# serialization向 google 询问您所需要的内容 -
我们通常在 C# 中调用指针引用。如果你的系统到系统和行星到行星的关系只有父母和孩子,一个列表就可以了,如果你需要更复杂的关系,你可以轻松地创建你自己的包含父母和孩子列表的类。至于链表,正如@Steve 所说,它可能不需要,如果你需要的话,可以通过基类库链接列表类
-
我认为您走在正确的轨道上,只需根据您的需要继续探索您的类,C# 中的序列化很容易开始工作,即使对于复杂的对象和列表也是如此。当您遇到特定问题时,请随时回来向我们展示
-
我在几个项目中使用过链表。绝对有他们的位置。我完全不同意他们唯一的用途是学术。如果您的大多数列表修改都是添加/删除不在列表末尾的值并且您不需要随机访问,那么链表就很棒。
-
感谢所有帮助。我和列表一起去了。使用提供的工具比强制解决方案更容易。我也有序列化工作。我花了一段时间,而且难度很大,因为我没有完全理解。我晚上试着写一个我是怎么做的,因为我在网上找不到任何符合我情况的东西,我能理解。现在一切正常,除了我将在一个新主题中提出的一点。
标签: c# serialization linked-list