C# Programming

C# पुनरावृत्तियों में कुशलतापूर्वक सूचकांक प्राप्त करना

Spread the love

C# में foreach लूप संग्रहों पर पुनरावृति करने का एक सुविधाजनक तरीका है, लेकिन यह वर्तमान पुनरावृत्ति का सूचकांक स्वाभाविक रूप से प्रदान नहीं करता है। जब आपको तत्व और उसका सूचकांक दोनों की आवश्यकता होती है, तो यह असुविधाजनक हो सकता है। यह लेख foreach जैसे पुनरावृत्ति के भीतर सूचकांक प्राप्त करने के दो प्रभावी तरीकों का पता लगाता है।

विषयसूची

LINQ की Select() विधि का उपयोग करना

LINQ की Select() विधि तत्व और उसके सूचकांक दोनों को प्राप्त करने का एक संक्षिप्त तरीका प्रदान करती है। यह मूल संग्रह को एक नए क्रम में बदल देती है जहाँ प्रत्येक तत्व को उसके सूचकांक के साथ जोड़ा जाता है।


using System;
using System.Collections.Generic;
using System.Linq;

public class ForeachIndexExample
{
    public static void Main(string[] args)
    {
        List<string> names = new List<string>() { "Alice", "Bob", "Charlie", "David" };

        // सूचकांक और तत्व प्राप्त करने के लिए Select() का उपयोग करें
        var indexedNames = names.Select((name, index) => new { Name = name, Index = index });

        // अनुक्रमित क्रम के माध्यम से पुनरावृति करें
        foreach (var item in indexedNames)
        {
            Console.WriteLine($"Name: {item.Name}, Index: {item.Index}");
        }
    }
}

यह कोड एक नया अनाम प्रकार बनाता है जिसमें नाम और उसका सूचकांक दोनों शामिल होते हैं। foreach लूप तब इस नए क्रम के माध्यम से पुनरावृति करता है, जिससे जानकारी के दोनों टुकड़ों तक पहुँच प्राप्त होती है। यह दृष्टिकोण पठनीय है और किसी भी आकार के संग्रह के लिए अच्छी तरह से काम करता है।

मानक for लूप का उपयोग करना

सुधारित प्रदर्शन के लिए, विशेष रूप से बड़े संग्रहों के साथ, एक मानक for लूप एक अधिक प्रत्यक्ष दृष्टिकोण प्रदान करता है। यह एक नया क्रम बनाने के ओवरहेड से बचता है।


using System;
using System.Collections.Generic;

public class ForeachIndexExample
{
    public static void Main(string[] args)
    {
        List<string> names = new List<string>() { "Alice", "Bob", "Charlie", "David" };

        // सूचकांक के साथ for लूप का उपयोग करें
        for (int index = 0; index < names.Count; index++)
        {
            string name = names[index];
            Console.WriteLine($"Name: {name}, Index: {index}");
        }
    }
}

यह विधि उनके सूचकांक का उपयोग करके सीधे तत्वों तक पहुँचती है। जबकि यह foreach लूप का उपयोग नहीं करता है, यह बड़े डेटासेट के लिए अधिक कुशल समाधान प्रदान करता है।

इन विधियों के बीच चुनाव आपकी प्राथमिकताओं पर निर्भर करता है। Select() विधि पठनीयता प्रदान करती है, जबकि for लूप बड़े संग्रहों के लिए बेहतर प्रदर्शन प्रदान करता है। अपना चयन करते समय अपने डेटा के आकार और पठनीयता के महत्व पर विचार करें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *