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

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

यह आर्टिकल 1005090519 का डुप्लीकेट प्रतीत होता है। यहाँ Take और Skip ऑपरेटर्स का संपूर्ण गाइड है।

Take और Skip ऑपरेटर्स का अवलोकन

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

उदाहरण 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);
        System.Console.WriteLine($"After Skip(5): {skipRes.Count()}");  // 23
        
        Console.ReadLine();
    }
}

उदाहरण 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);
        System.Console.WriteLine($"After Take(5): {takeRes.Count()}");  // 5
        
        Console.ReadLine();
    }
}

उदाहरण 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 लें
        var takeSkipRes = numbers.Skip(10).Take(18);
        System.Console.WriteLine($"Skip(10).Take(18): {takeSkipRes.Count()}");  // 18
        
        Console.ReadLine();
    }
}

आउटपुट

Total count: 28
After Skip(5): 23
After Take(5): 5
Skip(10).Take(18): 18

व्यावहारिक पेजिनेशन हेल्पर

public static class PaginationExtensions {
    public static IEnumerable<T> GetPage<T>(
        this IEnumerable<T> source, 
        int pageNumber, 
        int pageSize) 
    {
        if (pageNumber < 1) throw new ArgumentOutOfRangeException(nameof(pageNumber));
        if (pageSize < 1) throw new ArgumentOutOfRangeException(nameof(pageSize));
        
        return source.Skip((pageNumber - 1) * pageSize).Take(pageSize);
    }
}

// उपयोग
var page3 = allItems.GetPage(3, 20);  // पेज 3, 20 आइटम्स प्रति पेज

एज केस व्यवहार

स्थितिSkip व्यवहारTake व्यवहार
काउंट से अधिक nखाली सीक्वेंससभी उपलब्ध एलिमेंट्स
n = 0सभी एलिमेंट्सखाली सीक्वेंस
n < 0ArgumentOutOfRangeExceptionArgumentOutOfRangeException
खाली सोर्सखाली सीक्वेंसखाली सीक्वेंस

पेरफॉरमेंस नोट्स

  • LINQ to Objects: Skip को n एलिमेंट्स इटरेट करने पड़ते हैं → O(n)
  • LINQ to SQL/EF Core: SQL OFFSET/FETCH में ट्रांसलेट होता है → सर्वर-साइड पेजिनेशन
  • बड़े ऑफसेट्स के लिए: कर्सर-आधारित पेजिनेशन (Seek पद्धति) बेहतर पेरफॉरमेंस देती है

संबंधित ऑपरेटर्स

  • SkipWhile(predicate) - कंडीशन सत्य होने तक छोड़ें
  • TakeWhile(predicate) - कंडीशन सत्य होने तक लें
  • SkipLast(n) / TakeLast(n) - अंत से (C# 8.0+ / .NET Core 3.0+)
  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 स्पीकर पर लाया है। वर्तमान में प्रीव्यू केवल संयुक्त राज्य अमेरिका में उपलब्ध है, लेकिन ऐसा लगता है कि इस साझेदारी का लंबा रास्ता तय करना है। हम एक बहुआयामी दुनिया में रहते हैं ज