c# - 对于自引用多对多模型,建议使用什么集合类型?

发布于 2024-08-07 13:42:49 字数 686 浏览 7 评论 0原文

您认为在 C# 中哪种类型的集合最适合实现以下要求?

  1. 需要对web文件进行建模(例如class =“webfile”),因此只有一个类首选
  2. Model父级和父级子关系 - 就关联而言,一个 Web 文件可以有多个子 Web 文件,而子 Web 文件可以有多个父文件。 (想象一个具有多个图像的 HTML 页面,或者多个共享同一图像的 HTML 页面)
  3. 一个文件可以同时是父文件和父文件。子页面 - 或者换句话说,HTML 页面可以具有指向其他 HTML 页面的链接。
  4. 任何地方都不应该有重复项,假设 URI 是关键。从某种意义上说,我想对网站上的文件进行建模。图像 XYZ 只有一份实际副本,但多个页面都会有指向它的链接。
  5. 实际的 webfile 类本身将由唯一的 URI 进行键控,但是我设想类中还有其他属性,例如最后修改日期、大小等。
  6. 哦,我还将在类上使用 XML 序列化,以保存/加载数据。不确定这是否会影响答案“

您认为最好的集合是什么?” (实现的代码本身就很棒,但我会对一些基本方向感到满意)。我开始使用列表,但是当我去实现诸如“addChild(parent, child)”之类的公共方法时,我发现自己必须编写代码来检查现有网络文件(即 URI)是否存在,因此也许使用其中一个关键如果可以确保我的独特性,ed 集合类在这里是最好的吗?

希望这是有道理的。

塔克斯

What type of collection would be best in C# to implement the following requirements do you think?

  1. Need to model web file (e.g. class = "webfile"), so one class only preferred
  2. Model parent & child relationship - In terms of associations a webfile can have multiple child webfiles, and child webfiles can have multiple parents. (think of a HTML page that have multiple images, or multiple HTML pages that share the same image)
  3. A file can be both a parent & a child - or in other words a HTML page can have a link to other HTML pages.
  4. There should be no duplicates anywhere, assume that the URI is the key. In a sense I'm wanting to model the files sitting on a web site. There is only one actual copy of image XYZ, however there will be links to it from multiple pages.
  5. The actual webfile class itself would be key'ed of a unique URI, however I envisage other attributes in the class such as lastmodifieddate, size etc.
  6. Oh, and I was going to use XML serialization on the class as well, to save/load the data. Not sure if this affects the answer

What collection do you think would be best? (the code that implements would be great itself, but I'll be happy with just some basic direction). I started using a List however as I go to implement public methods such as "addChild(parent, child)", I find myself having to write code to check for existance of existing webfiles (i.e. URIs), so perhaps using one of the key'ed collection classes would be best here if it would ensure uniqueness for me?

Hope this makes sense.

Tks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香橙ぽ 2024-08-14 13:42:49

通用词典之一或基本哈希表就可以满足您的目的。

One of the Generic Dictionary's would serve your purpose, or a basic Hashtable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文