具有位置索引器的多维通用集合

时间:2014-02-21 05:00:40

标签: c# .net generics collections .net-4.5

不确定标题是否措辞正确但基本上我是在尝试加载给定目录中的文本文件的所有文件名,然后将每个文件中的文本行加载到一个集合中。

我希望能做到这样的事情:

Dictionary<string, List<string>> db = new Dictionary<string, List<string>>;
db.Add("c:\text1.txt", new List<string>(new string[]{"line1","line2","line3"}));

然后使用db[0]

访问它

有没有任何类型的集合可以做到这一点,或者你们都可以推荐一种不同的方式来做这件事吗?

1 个答案:

答案 0 :(得分:1)

显然,由于字典在默认情况下是无序的(项目存储在存储桶中,这取决于密钥哈希码,项目顺序无关紧要),您有两种选择:

  • 使用类似字典集合的有序版本(请参阅OrderedDictionaryKeyedCollection和此question);
  • 使用任何有序的集合,例如List<Tuple<string, List<string>>>,但这不允许按密钥搜索。