foreach Loop in C#: foreach Loop हमें किसी भी Array के सभी Elements को Sequentially Access करने की सुविधा Provide करता है। इस Loop का प्रयोग अन्य प्रकार के .NET Collection Types के सभी Elements को Sequentially Assess करने के लिए भी किया जाता है, जिनके बारे में हम आगे समझेंगे।
C# में Collection व Array के Elements को Access करने के लिए इस नए Construct को Add किया गया है। इस Construct को निम्नानुसार दो तरीकों से Use किया जा सकता है:
foreach( Type Identifier in ArrayName) { //Statements } foreach( var Identifier in ArrayName) { //Statements }
इस Construct में ArrayName वह Array है, जिसके सभी Elements को Sequentially Access करना है जबकि Type या var उस Array के Elements के Type को Represent करता है और Array से Retrieved Values को One by One Identifier में प्राप्त किया जाता है।
foreach Loop तब तक Iterate करता रहता है, जब तक कि Array या Collection के सभी Elements Access नहीं हो जाते। इस Loop को हम निम्नानुसार तरीके से Use करते हुए Array के विभिन्न Elements को Access व Manipulate कर सकते हैं:
// File Name: foreachLoop.cs using System; namespace CSharpIntermediateConstructsArray { class foreachLoop { private static void Main(string[] args) { int[] rollnumbers = new[] { 100, 200, 300, 400 }; foreach (int rollnumber in rollnumbers) { Console.WriteLine("Roll Number: {0}", rollnumber); } } } } // Output: Roll Number: 100 Roll Number: 200 Roll Number: 300 Roll Number: 400
foreach Loop में Iterate करने वाला Variable Read-Only होता है, इसलिए इस Variable के मान को Manually Change नहीं किया जा सकता। लेकिन Value Type व Reference Type Arrays के लिए ये Variable अलग&अलग तरह से व्यवहार करता है।
Value Type Array के लिए हम इस Variable के मान को Change नहीं कर सकते और यदि हम इसे Change करने की कोशिश करते हैं, तो C# Compiler, Compile Time Error Generate करता है।
Reference Type Array होने पर भी हम Iterate करने वाले Reference Variable को Change नहीं कर सकते, जिसमें Array के किसी Reference Element का Data होता है। लेकिन क्योंकि Iteration Variable किसी Array Element के Reference को ही Hold करता है, Data को नहीं] इसलिए इस Reference के माध्यम से हम Array Element के किसी Specific Reference द्वारा Refer हो रहे Data को Change कर सकते हैं।
foreach Loop को हम Multi-Dimensional Array के साथ भी Use कर सकते हैं। जब हम foreach Loop को Multi-Dimensional Array के साथ Use करते हैं, तब foreach Loop एक Nested Looping Statement की तरह व्यवहार करते हुए Multi-Dimensional Array के सभी Elements को Sequentially Process करता है।
foreach Loop के Multi-Dimensional Array के साथ किए जाने वाले व्यवहार को हम निम्न Example Program द्वारा बेहतर तरीके से समझ सकते हैं:
// File Name: foreachLoopMulti-DimensionalArray.cs using System; namespace CSharpIntermediateConstructsArray { class foreachLoopMultiDimensionalArray { private static void Main(string[] args) { int[,] rollnumbers = new[,] { { 100, 200 }, { 300, 400 } }; foreach (int rollnumber in rollnumbers) { Console.WriteLine("Roll Number: {0}", rollnumber); } } } } // Output: Roll Number: 100 Roll Number: 200 Roll Number: 300 Roll Number: 400
हालांकि ये Program Exactly पिछले वाले Program की तरह ही Output दे रहा है, लेकिन इस Program में foreach Loop एक Nested For Loop की तरह काम कर रहा है।
चूंकि] Array हमेंशा Memory में Continues Memory Location पर Store होता है और Internally हमेंशा एक One-Dimensional Array के रूप में ही Store होता है। इसलिए जब foreach Loop Run होता है, तो Array के पहले Dimension के सभी Elements को Access करने के बाद फिर से Array के दूसरे Dimension के पहले Element को Access करना शुरू करता है और ये प्रक्रिया तब तक चलती रहती है, जब तक कि M-D Array के सभी Elements Access नहीं हो जाते।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C#.NET in Hindi | Page:908 | Format: PDF