मेरे पास वस्तुओं की एक सूची है और उन पर एक LINQ क्वेरी है। अब, LINQ के स्थगित निष्पादन के साथ, बाद में फ़ोरैच लूप केवल एक बार या लूप में प्रत्येक मोड़ के लिए क्वेरी निष्पादित करेगा?क्या foreach केवल एक बार क्वेरी निष्पादित करता है?
foreach (int num in numQuery.ToList())
इससे कोई फर्क होगा और, अगर:
इस उदाहरण (Introduction to LINQ Queries (C#), on MSDN से लिया) को देखते हुए
// The Three Parts of a LINQ Query:
// 1. Data source.
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 2. Query creation.
// numQuery is an IEnumerable<int>
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
या, दूसरे शब्दों में, वहाँ कोई अंतर अगर मैं था होगा अंतर्निहित डेटा सरणी में नहीं है, लेकिन डेटाबेस में है?
हां एक बार। शायद उपरोक्त संपादन के रूप में, क्वेरी के पूरे निष्पादन से भी कम है। –
विस्तार से मुझे समझाए जाने के लिए धन्यवाद! – Marcel