Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

LINQ C# में Take और Skip ऑपरेटर्स का एक साथ उपयोग कैसे करें?

नोट: दिए गए स्रोत कोड में Take/Skip के बजाय Equals कम्पेरिजन का उदाहरण है। यहाँ Take और Skip का सही उपयोग बताया गया है।

Take और Skip ऑपरेटर्स

  • Take(n): सीक्वेंस के पहले n एलिमेंट्स लौटाता है
  • Skip(n): सीक्वेंस के पहले n एलिमेंट्स को छोड़कर बाकी लौटाता है

पेजिनेशन के लिए संयुक्त उपयोग

// पेज 1 (पहले 10)
var page1 = items.Skip(0).Take(10);

// पेज 2 (अगले 10)
var page2 = items.Skip(10).Take(10);

// पेज n
var pageN = items.Skip((pageNumber - 1) * pageSize).Take(pageSize);

उदाहरण 1: Skip

class Program {
    static void Main(string[] args) {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 5, 6, 7, 7, 8, 8 };
        
        System.Console.WriteLine($"Total count: {numbers.Count()}");  // 28
        
        var skipRes = numbers.Skip(5);  // पहले 5 छोड़ें
        System.Console.WriteLine($"After Skip(5): {skipRes.Count()}");  // 23
        
        Console.ReadLine();
    }
}

आउटपुट

Total count: 28
After Skip(5): 23

उदाहरण 2: Take

class Program {
    static void Main(string[] args) {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 5, 6, 7, 7, 8, 8 };
        
        System.Console.WriteLine($"Total count: {numbers.Count()}");  // 28
        
        var takeRes = numbers.Take(5);  // पहले 5 लें
        System.Console.WriteLine($"After Take(5): {takeRes.Count()}");  // 5
        
        Console.ReadLine();
    }
}

आउटपुट

Total count: 28
After Take(5): 5

उदाहरण 3: Skip + Take संयुक्त (पेजिनेशन)

class Program {
    static void Main(string[] args) {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 5, 6, 7, 7, 8, 8 };
        
        System.Console.WriteLine($"Total count: {numbers.Count()}");  // 28
        
        // पहले 10 छोड़ें, फिर 18 लें (एलिमेंट्स 11-28)
        var takeSkipRes = numbers.Skip(10).Take(18);
        System.Console.WriteLine($"Skip(10).Take(18): {takeSkipRes.Count()}");  // 18
        
        // एलिमेंट्स प्रिंट करें
        Console.WriteLine("Elements: " + string.Join(", ", takeSkipRes));
        
        Console.ReadLine();
    }
}

आउटपुट

Total count: 28
Skip(10).Take(18): 18
Elements: 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 5, 6, 7, 7, 8, 8

महत्वपूर्ण व्यवहार

  • Skip उपलब्ध एलिमेंट्स से कम होने पर खाली सीक्वेंस लौटाता है (एक्सेप्शन नहीं)
  • Take उपलब्ध एलिमेंट्स से अधिक माँगने पर उपलब्ध एलिमेंट्स लौटाता है
  • ऑर्डर मायने रखता है: Skip().Take() सही है, Take().Skip() अलग परिणाम देता है
  • डिफर्ड एक्ज़ीक्यूशन: क्वेरी तभी चलती है जब एन्यूमरेट किया जाए

SQL समकक्ष

-- Skip(10).Take(18) के बराबर
SELECT * FROM table ORDER BY id OFFSET 10 ROWS FETCH NEXT 18 ROWS ONLY;

उन्नत: SkipWhile / TakeWhile

// कंडीशन सत्य होने तक छोड़ें
var result = numbers.SkipWhile(n => n < 5).TakeWhile(n => n > 3);
  1. Microsoft Teams में Together Mode क्या है और इसका उपयोग कैसे करें? Microsoft Teams में Together Mode क्या है और इसका उपयोग कैसे करें?

    Together Mode Microsoft Teams में छोटी सभाओं के लिए समर्पित एक सरल विकल्प है। यह एक बड़ी गैलरी व्यू का आभास देता है, जिसमें मीटिंग के सभी प्रतिभागी एक वर्चुअल ऑडिटोरियम में एक साथ बैठे दिखते हैं। Microsoft Teams में Together Mode कैसे काम करता है? Microsoft Teams आर्टिफिशियल इंटेलिजेंस टूल्स की कार

  1. Windows Sandbox और VMWare या VirtualBox को एक साथ कैसे उपयोग करें Windows Sandbox और VMWare या VirtualBox को एक साथ कैसे उपयोग करें

    Windows Sandbox Windows 11/10 कंप्यूटर पर चलाने के लिए Hyper-V फीचर का उपयोग करता है। लेकिन जब यह एनेबल होता है तो कोई थर्ड-पार्टी वर्चुअलाइज़ेशन सॉफ़्टवेयर नहीं चलाया जा सकता। इसमें VMWare, VirtualBox जैसे सॉफ़्टवेयर शामिल हैं। लेकिन इस सीमा को एक वर्कअराउंड का उपयोग करके दूर किया जा सकता है। यह उन

  1. Windows 10 और Echo डिवाइस पर Cortana और Alexa को इंटीग्रेट करें: चरण-दर-चरण गाइड Windows 10 और Echo डिवाइस पर Cortana और Alexa को इंटीग्रेट करें: चरण-दर-चरण गाइड

    Microsoft ने जनवरी में अपने Build डेवलपर सम्मेलन में घोषणा करने के बाद आखिरकार Alexa को Windows 10 PC और Cortana को Echo स्पीकर पर लाया है। वर्तमान में प्रीव्यू केवल संयुक्त राज्य अमेरिका में उपलब्ध है, लेकिन ऐसा लगता है कि इस साझेदारी का लंबा रास्ता तय करना है। हम एक बहुआयामी दुनिया में रहते हैं ज