मैं डेटाटेबल के साथ काम कर रहा था और देखा कि रिशेर्पर ने सिफारिश की है कि मैं एक लूप को LINQ अभिव्यक्ति में परिवर्तित कर सकता हूं। मैं वैसा ही किया और यह क्वेरी अभिव्यक्ति वाक्य रचना (सरलीकृत) को पुनः लिखा गया:LINQ - विधि बनाम क्वेरी सिंटेक्स अंतर
var test1 = from DataRow row in dt.Rows select row;
व्यक्तिगत रूप से, मैं पसंद विधि वाक्य रचना तो यह करने के लिए इसे दुबारा लिखा:
var test2 = dt.Rows.Select(row => row);
और इसे तोड़ दिया।
'System.Data.DataRowCollection' 'चुनें' के लिए एक परिभाषा और कोई विस्तार विधि 'का चयन करें' प्रकार 'System.Data.DataRowCollection' का एक पहला तर्क को स्वीकार करने में नहीं है पाया जा सकता है (आप याद कर रहे हैं एक निर्देश का उपयोग कर या एक विधानसभा संदर्भ?)
क्वेरी अभिव्यक्ति के बाद से translated to method calls कर रहे हैं, क्यों है कि पहले काम करता है, लेकिन दूसरी नहीं? मैं या तो दोनों या न तो काम करने की उम्मीद करता हूं जो स्पष्ट रूप से मामला नहीं है।
जो आवश्यक है क्योंकि 'DataRowCollection'' IENumerable' लागू करता है, न कि 'IEnumerable'। –
@ क्रिसशॉट्स: आह, मैंने पहले यह देखा होगा लेकिन वास्तव में क्यों नहीं घिरा हुआ है। तथ्य यह है कि यह "गलत" Inumerable लागू करता है जो मैं याद कर रहा था। :) – Chris