मुझे सी # के बारे में निश्चित नहीं है।
हालांकि, मुझे पता है कि जब तक आप 2.0 फ्रेमवर्क को लक्षित करने के लिए वीएस 2008 कंपाइलर का उपयोग करते हैं, तब तक आप 3.5 पुस्तकालयों को वीबी LINNQ कोड w / लिख सकते हैं।
हालांकि, आपको अपने स्वयं के कुछ LINQ विधियों को लागू करना होगा।
LINQ निष्पादन योग्य कोड में क्वेरी का अनुवाद करने के लिए एक सिंथेटिक परिवर्तन का उपयोग करता है। असल में, यह इस तरह कोड ले जाएगा:
dim q = from x in xs where x > 2 select x*4;
और इसे इस तरह कोड में परिवर्तित करें:
dim q = xs.where(function(x) x > 2).select(function(x) x * 4);
3.5 फ्रेमवर्क वाले जहाजों की LINQ कार्यक्षमता के लिए, उन विधियों को IENumerable या IQueryable पर विस्तार विधियों के रूप में कार्यान्वित किया जाता है (डेटा सेट पर भी काम करने वाले तरीकों का एक समूह भी है)।
डिफ़ॉल्ट IENumerable एक्सटेंशन विधियों को System.Linq.Eumerable में परिभाषित किया गया है और इस तरह दिखते हैं:
public function Select(of T, R)(source as IEnumerable(of T), transform as Func(of T, R)) as IEnumerable(of R)
'do the transformation...
end function
IQueryable विस्तार विधियां लैम्बडास के बजाए अभिव्यक्ति के रूप में अभिव्यक्ति के पेड़ लेती हैं। वे इस तरह दिखते हैं:
public function Select(of T, R)(source as IQueryable, transform as Expression(of Func(of T, R))
'build a composite IQueryable that contains the expression tree for the transformation
end function
अभिव्यक्ति वृक्ष संस्करण आपको खंडों को प्रदान किए गए अभिव्यक्तियों का वृक्ष प्रतिनिधित्व प्राप्त करने में सक्षम बनाता है जिसका उपयोग तब SQL कोड (या जो भी आप चाहते हैं) उत्पन्न करने के लिए किया जा सकता है।
आप लगभग एक दिन या उससे भी अधिक समय में LINQ का अपना संस्करण ऑब्जेक्ट्स बना सकते हैं। यह सब बहुत सीधे आगे है।
यदि आप DLINQ का उपयोग करना चाहते हैं, तो चीजें थोड़ा और कठिन हो जाएंगी।