我有List
个名为IWord
的{{1}}个对象。
我需要将每个元素与其自己的taggedInput
个List
对象相关联。
为此,我需要使用不同的数据类型。
在此数据类型中,父列表和子列表都必须是动态的,并且必须在运行时填充。
父列表必须允许重复值(因此它不能是IWord
对象)。
我打算遍历父列表,并操纵(添加,删除,重新组织)子列表中的元素。父列表和子列表中的每个元素都必须可以通过列表中的位置访问。
这是我为更好地说明我需要的图片而写的:
用于此目的的最佳数据类型是什么?我需要像Dictionary
这样的东西
(但这不是一个清单)
答案 0 :(得分:1)
我假设您无法更改IWord
界面?在这种情况下,我会使用另一种类型来形成所需的关系......
public class WordWithRelatives
{
public IWord Word {get;set;}
public List<IWord> Relatives {get;set;}
}
然后你只需要一个上面的列表
var taggedInput = List<WordWithRelatives>();
您还可以通过将WordWithRelatives
接口方法转发到其包含的IWord
实例来使IWord
实现Word
。