difference between for and for each loop..?
The for loop executes a statement or a block of statements repeatedly until a specified expression evaluates to false. there is need to specify the loop bounds( minimum or maximum).
int j = 0;
for (int i = 1; i <= 5; i++)
{
j = j + i ;
}
The foreach statement repeats a group of embedded statements for each element in an array or an object collection.you do not need to specify the loop bounds minimum or maximum.
int j = 0;
int[] tempArr = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in tempArr )
{
j = j + i ;
}
foreach loop executes a predetermined number of times eg. list of items, rows in a table, etc. a for loop executes until a certain condition is met
There is no 'foreach' in C
Foreach is for an IEnumerable, not just an array (unless you are using C# 1.1 or earlier). A collection (List, Dictionary, etc) can also generate a sequence from foreach-statement. In fact, if you have a class that is NOT an array, but it implements all the required methods of IEnumerable, it may be applied as:public class Storage: IEnumerable {...}Storage myStorage = new Storage();...Foreach (Thing stuff in myStorage){...}
foreach can simply replace for loop. for ex in perl, if you need to copy display an array, it will take only foreach $var(@arr). then print $var. no need of incrementing the index of array like for loop.
I understand the IEnumerator/IEnumerable methods and properties and also how they are interrelated. But I fail to understand from the foreach loop perspective. Say for example, if I say the following line of code, how does the compiler look at foreach loop and break it down to IEnumerable/IEnumerator for every occurance of foreach loop in your code. In other words, what happens under the hood? I tried to go through couple of articles on the web. But they were NOT looked from the foreach loop perspective or I might have failed to understand. Could somebody explain with the example or direct me to any articles that explains clearly. All help is greatly appreciated.Answer: To keep it short the compiler doesn't do much. It just translates the foreach code into a while under the hood. Here's an example: List list = new List; ........ foreach(int item in list) { //Do stuff} Becomes: Enumerator enum = ((IEnumerable)list).GetEnumerator(); enum.Reset(); while(enum.MoveNext()) { int item = enum.Current;//Do stuff} or something very close to that. The acual code compiled most likely has a try / finally block around the while to dispose the enumerator
foreach loop executes a predetermined number of times eg. list of items, rows in a table, etc. a for loop executes until a certain condition is met
There is no 'foreach' in C
The foreach construct simply gives an easy way to iterate over arrays. Foreach works only on arrays (and objects).
Foreach is for an IEnumerable, not just an array (unless you are using C# 1.1 or earlier). A collection (List, Dictionary, etc) can also generate a sequence from foreach-statement. In fact, if you have a class that is NOT an array, but it implements all the required methods of IEnumerable, it may be applied as:public class Storage: IEnumerable {...}Storage myStorage = new Storage();...Foreach (Thing stuff in myStorage){...}
Assuming your data store implements the "IEnumerable" interface (or the IEnumerable generic interface) foreach (type arg in datastore) { ... } So, for example, if you have a List, it would be List list = new List() ... foreach (string val in list) { Console.Out.WriteLine(val); }
foreach is a simple loop mostly used to read an array line by line; $arr = array("one", "two" , "three"); foreach($arr as $c) { echo $c; } it'll output : onetwothree also try looking up the while loop
while, do...while, for, foreach are used
The PHP foreach construct is used to iterate over arrays. This is done in the field of mathematics. It will issue errors when one tries to use it as a variable instead of arrays and objects.
1. AutoBoxing 2. Introducing enum 3. Add Generic 4. Add new foreach loop 5. Add variable number of Arguments to the function 6. Add some new class like StringBuilder 7. Add System.out.printf(); many more
foreach can simply replace for loop. for ex in perl, if you need to copy display an array, it will take only foreach $var(@arr). then print $var. no need of incrementing the index of array like for loop.
difference between as on and as at
What is the difference between Florida and California What is the difference between Florida and California