Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为Idictionary创建linq适配器_C#_Linq - Fatal编程技术网

C# 为Idictionary创建linq适配器

C# 为Idictionary创建linq适配器,c#,linq,C#,Linq,由于索引的原因,我定制了一个集合,它是IDicational(非泛型)的一个实现。用于保存基于字符串的键和基于对象的值 现在请原谅我的无知,我刚从山洞里出来 我想在两者之间使用一个适配器,这是一个linq适配器,它应该接受linq查询并对现有IndexedDictionary执行操作 为什么会这样 这是为.net 2.0应用程序而设计的,现在我们正缓慢而稳定地向4.0迈进,作为自然进化的一部分,因此我们正在并肩前进,以便以前编写的所有内容都应该存在,4.0功能应该尽可能作为适配器来实现 长话短说

由于索引的原因,我定制了一个集合,它是IDicational(非泛型)的一个实现。用于保存基于字符串的键和基于对象的值

现在请原谅我的无知,我刚从山洞里出来

我想在两者之间使用一个适配器,这是一个linq适配器,它应该接受linq查询并对现有IndexedDictionary执行操作

为什么会这样

这是为.net 2.0应用程序而设计的,现在我们正缓慢而稳定地向4.0迈进,作为自然进化的一部分,因此我们正在并肩前进,以便以前编写的所有内容都应该存在,4.0功能应该尽可能作为适配器来实现


长话短说,我有一个现有的.NET2.0IDictionary实现,我将总结我想要的内容。现在我想将它与LINQ一起使用,这样我就可以充分利用表达式。我如何才能做到这一点?

我不确定我是否完全理解您的目的以及代码需要做什么。LINQ非常强大,您可能不需要适配器

对于从LINQ结果到字典的转换,LINQ中有一个ToDictionary方法。看

干杯


克里斯·法雷尔(Chris Farrell)

我觉得你不需要适配器。适配器用于转换表达式树(
IQueryable
)以与底层数据源通信。对于内存中的集合,现有的扩展方法(如LINQ到对象、LINQ到XML和LINQ到数据集)通常都可以。如果这还不够,您可以编写自己的扩展方法或在您的类型上编写实例LINQ方法。

您不需要对.Net 2.0做任何操作,只需像其他LINQ一样使用它。它实现了接口,因此LINQ可以使用它。请注意,当您使用LINQ迭代字典时,元素将不会按“顺序”排列,您必须使用。

您的问题到底是什么?您似乎希望有人在这里为您编写适配器。你们为什么不给我们看一些代码,我们可以帮你们。嘿,伙计们,我自己就知道了,我所需要做的就是实现一个linq提供程序来访问那个数据源。