黑马程序员技术交流社区
标题:
foreach的具体用法和特点
[打印本页]
作者:
985127948
时间:
2012-12-13 06:40
标题:
foreach的具体用法和特点
foreach的具体用法和特点谁给详细的解答一下。
作者:
赵小江
时间:
2012-12-13 07:14
int[] arr = { 1, 2, 3 }; foreach (int i in arr)
{
System.Console.WriteLine(i);
}
string[] ctt = { "一", "二", "三" }; foreach (string i in ctt)
{
System.Console.WriteLine(i);
}
Console.ReadKey();
复制代码
要在数组中找什么类型的值就定义一个相应类型的变量,然后foreach会从数组第一个元素开始遍历所有元素。
作者:
黑马丁巍
时间:
2012-12-13 09:21
int[] nArray = new int[100];
foreach( int i in nArray )
{
循环语句
}
首先,foreach比for循环更加简洁和高效,其次不用考虑数组起始索引是几,很多人可能从其他语言转到C#的,那么原先语言的起始索引可能不是1,例如VB或者Delphi语言,那么在C#中使用数组的时候就难免疑问到底使用0开始还是用1开始呢,那么使用foreach就可以避免这类问题。
但是在foreach语句中有两个限制,第一不能修改枚举成员,其次不要对集合进行删除操作。
作者:
李先洋
时间:
2012-12-13 15:58
foreach循环用于遍历集合中元素,集合是一组对象。
foreach的基本形式如下:
foreach (type loopvar in collection) statement;
其中type loopvar 是指迭代变量的类型和名称,当foreach执行遍历的时,它将接受集合中下一个元素的值,被遍历的集合有collection指定。
这里以数组时的情形为例来说foreach的工作原理:当循环开始的时候,获得数组中的第一个元素并将其赋值给loopvar.随后的每次迭代获得数组中的下一个元数并将其存储在loopvar中。foreach循环在数组中没有可获得的元数时结束。因此foreach循环从头到尾的遍历数组,并且一次获得数组中的一个元数。在foreach循环中迭代变量loopvar是只读的,不能通过给迭代变量赋一个新值来改变数组中的元数。
下面用一个foreach的简单示例来说明:
int Sum=0;
int Nums= new int [10];
for(int i=0;i<10;i++)
{
Nums[i]=i;
}
foreach ( int x in Nums)
{
Sum+=x;
}
复制代码
作者:
张小平
时间:
2012-12-13 16:56
c#中使用foreach和for都可以用来遍历,foreach的执行效率比for高。foreach是按照从左到右的顺序依次直接取得集合中的各个元素,而for循环是通过控制元素下标取得元素位置进而读取元素;foreach可以在不用知道长度的情况下进行遍历,但是for一般要知道长度才能遍历;但是foreach也有它的弊端,foreach仅限对数据进行读取,无法进行修改、删除等操作,而for循环可以。如下:
int[] num = { 2, 7, 35, 98, 74, 26 };
foreach (int i in num)
{
//i++;//不能对i进行操作
Console.WriteLine(i); //把取得的i打出来
}
Console.ReadKey();
for (int i=0;i<num.Length;i++)
{
num[i]++; //这里可以对取得值进行操作
Console.WriteLine(num[i]);
}
Console.ReadKey();
作者:
冯鸿昌
时间:
2012-12-14 01:04
foreach实现的前提是:实现IEnumerable 或者 实现自定返回值为IEnumerable(yield return)
用法:if you have implemented IEnumerable, foreach(type typename in classname)
else foreach(type typename in classname.iteratormethod)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2