c#foreach的问题

2025-02-24 12:22:17
推荐回答(4个)
回答1:

foreach和for循环类似的,使用foreach的好处是,当遍历数组时,因为有些语言的起始位置是从0开始的,而有些语言的起始位置却使从1开始,当语言支持foreach语法时,使用了foreach,它就自动帮你从数组第一位开始遍历,而不用你管第一位的下标是0还是1。而使用for来遍历的话,你还要确定该语言对数组的定义是下标1开始还是下标0开始。

回答2:

int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in fibarray)
{
System.Console.WriteLine(i);
}
for(int i=0; i {
System.Console.WriteLine(fibarray[i]);
}
这是两种用法 达到的效果一样的 个人认为foreach 在底层还是封装了for功能的

回答3:

不一样,for的条件参数是递增或递减设置规律的
foreach的条件是从别的数组拿来的

回答4:

两个空分别为:IEnumerator,GetEnumerator()
在使用Foreach遍历的时候它其实是转换为While,MoveNext()的形式的,所以你这个遍历对象必须是一个可枚举的类型,具有MoveNext()方法。