首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找List<KeyValuePair<string,KeyValuePair<string,string>>>的替代品

寻找List<KeyValuePair<string,KeyValuePair<string,string>>>的替代品
EN

Stack Overflow用户
提问于 2009-06-24 16:46:07
回答 2查看 9K关注 0票数 5

最终得到了这个糟糕的数据结构:

代码语言:javascript
复制
List<KeyValuePair<string, KeyValuePair<string, string>>>

它不太可能变得很大(我估计小于1000),我会一遍又一遍地迭代这个列表。

有没有人能想到内置类型的更好的替代方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-24 16:48:48

最好的选择是包装您自己的元组类,有点像shipping in .NET 4.0

然后你可以有一首单曲:

代码语言:javascript
复制
List<Tuple<string,string,string>>

这在.NET 2.0中很容易编写-它基本上只是一个三元组的值,而不是在一个KeyValuePair中有2个值。但是,在.NET 2.0中,没有内置的等价物来表示三元值。

编辑:

在看了你在另一篇文章中关于查询的评论后,我想我也应该提到这一点-

即使您在key1中没有唯一值,也可以通过使用以下命令来显著提高任何类型的查询/搜索的速度:

代码语言:javascript
复制
Dictionary<string, List<KeyValuePair<string,string>>>

然后,您可以通过第一个元素中的键来查找它们的列表,而不是存储单个KeyValuePair。如果您需要查找具有给定第一个键的所有元素,这将会快得多……

票数 10
EN

Stack Overflow用户

发布于 2009-06-24 16:48:33

代码语言:javascript
复制
struct MrStruct
{
   public string Key1,
   public string Key2,
   public string Value1
}


List<MrStruct>;

这是假设您按照您所说的iterate over顺序访问列表。潜在地,其他数据结构可以更快地进行搜索。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1039563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档