2010-10-02 51 views
-1

我已經爲索引原因定製了集合,它是Idicationary(非泛型)的實現。這用於保存基於字符串的鍵和基於對象的值。爲Idictionary創建一個linq適配器

請原諒我的無知,我剛剛從洞裏出來。

我想使用之間的適配器,這是一個LINQ適配器應該採取linq查詢和執行操作這個現有的IndexedDictionary。

爲什麼是這樣?

這是爲.net 2.0應用程序設計的,現在我們正在慢慢穩定地向4.0版本發展,因爲我們正在採取並行處理方式,所以以前編寫的所有東西都應該存在,並且4.0特性應儘可能實施爲適配器。

我將總結一下我想簡化長篇小說,我有一個現有的.net 2.0 IDictionary實現。現在我想將它用於LINQ,以便我可以充分利用表達式。我怎樣才能做到這一點 ?

+3

你的問題到底是什麼?你似乎希望有人在這裏爲你寫適配器。你爲什麼不告訴我們一些代碼,我們可以幫助你。 – 2010-10-02 18:09:31

回答

0

不確定我完全理解你的目的是什麼以及代碼需要做什麼。 LINQ非常強大,你可能不需要一個適配器。

對於從LINQ結果到Dictionary來說,LINQ中有一個ToDictionary方法。見http://www.hookedonlinq.com/ToDictionaryOperator.ashx

乾杯

克里斯·法雷爾

1

在我看來,你並不需要一個適配器。適配器用於轉換表達式樹(IQueryable)以與底層數據源進行通信。對於內存集合,現有的擴展方法(如LINQ to Objects,LINQ to XML和LINQ to DataSets)通常都會執行。如果這還不夠,您可以編寫自己的擴展方法或在您的類型上編寫實例LINQ方法。

0

你不需要對.Net 2.0 Dictionary做任何事情,只要像任何其他LINQ一樣使用它。它實現了IEnumerable<T>接口,因此它可以被LINQ使用。請注意,當您使用LINQ迭代字典時,元素將不會處於「順序」,您將不得不使用KeyValuePair<TKey, TValue>

+0

嘿,我想出了我的自我,我需要做的就是讓linq提供者實現訪問該數據源。 – Abhishek 2010-10-04 16:25:15

相關問題