我为索引原因定制了集合,它是Idicationary(非泛型)的实现。这用于保存基于字符串的键和基于对象的值。
现在请原谅我的无知,我刚刚走出洞穴。
我想在它之间使用一个适配器,这是一个linq适配器,应该采用linq查询并对现有的IndexedDictionary执行操作。
为什么SO?
这是专为.net 2.0应用程序而设计的,现在我们正在缓慢而稳定地将4.0作为自然进化的一部分,因此我们采取并排的方式,因此以前编写的所有内容都应该存在,4.0功能应该存在尽可能实现为适配器。
我将总结一下我想要缩短多长时间的内容,我有一个现有的.net 2.0 IDictionary实现。现在我想将它与LINQ一起使用,这样我就可以充分利用表达式。我该怎么做?
答案 0 :(得分:1)
在我看来,你不需要适配器。适配器用于转换表达式树(IQueryable
)以与基础数据源进行通信。对于内存中集合,现有的扩展方法(例如LINQ to Objects,LINQ to XML和LINQ to DataSet)通常会这样做。如果这还不够,您可以编写自己的扩展方法或在类型上编写实例LINQ方法。
答案 1 :(得分:0)
不确定我是否完全理解您的目的是什么以及代码需要做什么。 LINQ功能非常强大,您可能不需要适配器。
从LINQ结果转到Dictionary,LINQ中有一个ToDictionary方法。见http://www.hookedonlinq.com/ToDictionaryOperator.ashx
干杯
Chris Farrell
答案 2 :(得分:0)
您无需对.Net 2.0 Dictionary
执行任何操作,只需像使用其他任何LINQ一样使用它。它实现了IEnumerable<T>
接口,因此LINQ可以使用它。请注意,当您使用LINQ迭代字典时,元素将不是“顺序”,您将不得不使用KeyValuePair<TKey, TValue>
。