0

我有List 一个IWord名为taggedInput. 我需要将每个元素与它自己ListIWord对象相关联。为此,我需要使用不同的数据类型。

在此数据类型中,父列表和子列表都必须是动态的,并且必须在运行时填充。

父列表必须允许重复值(因此它不能是Dictionary对象)。

我打算遍历父列表,并操作(添加、删除、重组)子列表中的元素。父列表和子列表中的每个元素都必须可以通过其在列表中的位置来访问。

这是我制作的图像,以更好地说明我的需求:

在此处输入图像描述

为此使用的最佳数据类型是什么?我需要类似的东西List<IWord,List<IWord>> (但那不会是一个列表)

4

1 回答 1

1

我假设您无法更改IWord界面?在那种情况下,我会使用另一种类型来让您形成所需的关系......

public class WordWithRelatives
{
   public IWord Word {get;set;}
   public List<IWord> Relatives {get;set;}
}

然后你只需要上面的列表

var taggedInput = List<WordWithRelatives>();

您还可以WordWithRelatives通过将接口方法IWord转发到它包含的实例来实现。IWordWord

于 2012-08-18T06:15:54.173 回答