उत्पादन होता है 2,4,6,8
की वजह से स्थगित कर निष्पादन ।
क्वेरी वेरिएबल को वास्तव में निष्पादित किया जाता है, जब क्वेरी वैरिएबल से अधिक पुनरावृति होती है, न कि जब क्वेरी वैरिएबल बनाया जाता है। इसे आस्थगित निष्पादन कहा जाता है।
- सुप्रोटिम अग्रवाल, " लाइनक्यू में स्थगित बनाम तत्काल क्वेरी"
एक और निष्पादन है जिसे तत्काल क्वेरी निष्पादन कहा जाता है , जो क्वेरी परिणामों को कैशिंग करने के लिए उपयोगी है। सुप्रोटीम अग्रवाल से फिर:
एक क्वेरी के तत्काल निष्पादन के लिए मजबूर करने के लिए जो एक सिंगलटन मान का उत्पादन नहीं करता है, आप क्वेरी या क्वेरी चर पर ToList(), ToDictionary(), ToArray(), Count(), Average()
या Max()
विधि को कॉल कर सकते हैं । इन्हें रूपांतरण ऑपरेटर कहा जाता है जो आपको परिणाम की एक कॉपी / स्नैपशॉट बनाने की अनुमति देते हैं और क्वेरी को फिर से निष्पादित करने की आवश्यकता के बिना, जितनी बार चाहें उतनी बार पहुंच सकते हैं।
यदि आप चाहते हैं कि आउटपुट हो 2,4,6
, तो उपयोग करें .ToList()
:
var list = new List<int>{1,2,4,5,6};
var even = list.Where(m => m%2 == 0).ToList();
list.Add(8);
foreach (var i in even)
{
Console.WriteLine(i);
}