Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#-对于自引用多对多模型,建议使用哪种集合类型?_C#_Collections_Many To Many_Self Reference - Fatal编程技术网

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

c#-对于自引用多对多模型,建议使用哪种集合类型?,c#,collections,many-to-many,self-reference,C#,Collections,Many To Many,Self Reference,您认为在C#中,哪种类型的集合最适合实现以下要求 需要对web文件建模(例如class=“webfile”),因此只需要一个类 模型父项和子项关系-就关联而言,一个Web文件可以有多个子Web文件,子Web文件可以有多个父项。(想象一个有多个图像的HTML页面,或者多个共享同一图像的HTML页面) 一个文件既可以是父文件也可以是子文件,或者换句话说,一个HTML页面可以有一个指向其他HTML页面的链接 假设URI是密钥,那么任何地方都不应该有重复项。从某种意义上说,我想对网站上的文件进行建模。图

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

  • 需要对web文件建模(例如class=“webfile”),因此只需要一个类
  • 模型父项和子项关系-就关联而言,一个Web文件可以有多个子Web文件,子Web文件可以有多个父项。(想象一个有多个图像的HTML页面,或者多个共享同一图像的HTML页面)
  • 一个文件既可以是父文件也可以是子文件,或者换句话说,一个HTML页面可以有一个指向其他HTML页面的链接
  • 假设URI是密钥,那么任何地方都不应该有重复项。从某种意义上说,我想对网站上的文件进行建模。图像XYZ只有一个实际副本,但是会有多个页面的链接
  • 实际的webfile类本身将是唯一URI的键,但是我设想类中的其他属性,如lastmodifieddate、size等
  • 哦,我还打算在类上使用XML序列化来保存/加载数据。不确定这是否会影响答案
  • 你认为什么样的收藏品最好?(实现的代码本身会很好,但我很高兴有一些基本的指导)。我开始使用列表,但是当我要实现诸如“addChild(parent,child)”之类的公共方法时,我发现自己必须编写代码来检查现有Web文件(即URI)的存在性,所以如果可以确保唯一性,那么在这里使用一个键集合类可能是最好的

    希望这是有意义的


    Tks

    通用字典中的一个可以满足您的需要,或者是一个基本哈希表。

    通用字典中的一个可以满足您的需要,或者是一个基本哈希表