मेरे पास है;एक साधारण linq (वस्तुओं के लिए) क्वेरी की स्पेस जटिलता
var maxVal = l.TakeWhile(x=>x < val).Where(x=>Matches(x)).Max();
इसकी कितनी जगह चाहिए? क्या linq उपरोक्त की एक सूची बनाता है जहां() स्थिति, या मैक्स() मैक्स() है जो वर्तमान मैक्स() के ट्रैक को ध्यान में रखते हुए आईनेमरेबल के माध्यम से फिर से चल रहा है?
और जहां मैं इस बारे में अधिक जानकारी पा सकते हैं, इतने पर पूछ च
यह समझ में आता है कि मैक्स स्थगित निष्पादन का उपयोग नहीं करता है, क्योंकि यह टी को एक आईएनयूमेरेबल नहीं देता है। इसे देखने का एक अलग तरीका यह है कि उनमें से कोई वास्तव में स्थगित निष्पादन नहीं करता है; वे सभी तुरंत एक वस्तु वापस कर देते हैं जो विभिन्न तरीकों से व्यवहार करेगा जब गणना की जाएगी।मैक्स() के परिणाम हालांकि, के माध्यम से गणना नहीं है। हालांकि यह ज्यादातर चीजों के बारे में सोचने का सबसे अच्छा तरीका नहीं है, यह याद रखने की कोशिश करते समय यह मदद कर सकता है कि क्या है और स्थगित नहीं है। –