पाठ 5 / 26

Collections और LINQ

LINQ से collections को filter, transform और aggregate करें।

Collection पर query

LINQ (System.Linq) किसी भी collection में Where, Select और OrderBy जैसे methods जोड़ता है। ये pipeline की तरह पढ़े जाते हैं और आम तौर पर मूल list नहीं बदलते।

एक छोटी pipeline

सम संख्याएँ रखें, उनका वर्ग करें, फिर print करें। ToList() या loop के बिना query चलती ही नहीं।

var nums = new List<int> { 1, 2, 3, 4, 5, 6 };
var result = nums.Where(n => n % 2 == 0)
                 .Select(n => n * n)
                 .ToList();
Console.WriteLine(string.Join(", ", result));

Output:

4, 16, 36

Deferred execution की हैरानी

LINQ query हर बार enumerate करने पर दोबारा चलती है। अगर वह database छूती है या भारी है, तो एक बार ToList() करके list दोबारा उपयोग करें।

त्वरित जाँच: कौन-सा LINQ method शर्त पूरी करने वाले items ही रखता है?

  • Select
  • OrderBy
  • GroupBy
  • Where
Answer

Where — `Where` filter करता है; `Select` हर item को कुछ और बना देता है।