
c#foreach的问题
如题,foreach的原理是否跟for循环类似,因为今天做东西时发现,当我用foreach遍历一个容器里面所有控件时,把遍历的控件都移走,然后发现遍历不能完全就跟用for...
如题, foreach的原理是否跟for循环类似,因为今天做东西时发现,当我用foreach遍历一个容器里面所有控件时 ,把遍历的控件都移走,然后发现遍历不能完全 就跟用for循环是一个结果,因为count在减少 所有遍历不完全 是这个原因么
展开
4个回答
展开全部
foreach和for循环类似的,使用foreach的好处是,当遍历数组时,因为有些语言的起始位置是从0开始的,而有些语言的起始位置却使从1开始,当语言支持foreach语法时,使用了foreach,它就自动帮你从数组第一位开始遍历,而不用你管第一位的下标是0还是1。而使用for来遍历的话,你还要确定该语言对数组的定义是下标1开始还是下标0开始。
展开全部
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<fibarray.length-1;i++)
{
System.Console.WriteLine(fibarray[i]);
}
这是两种用法 达到的效果一样的 个人认为foreach 在底层还是封装了for功能的
foreach (int i in fibarray)
{
System.Console.WriteLine(i);
}
for(int i=0; i<fibarray.length-1;i++)
{
System.Console.WriteLine(fibarray[i]);
}
这是两种用法 达到的效果一样的 个人认为foreach 在底层还是封装了for功能的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不一样,for的条件参数是递增或递减设置规律的
foreach的条件是从别的数组拿来的
foreach的条件是从别的数组拿来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个空分别为:IEnumerator,GetEnumerator()
在使用Foreach遍历的时候它其实是转换为While,MoveNext()的形式的,所以你这个遍历对象必须是一个可枚举的类型,具有MoveNext()方法。
在使用Foreach遍历的时候它其实是转换为While,MoveNext()的形式的,所以你这个遍历对象必须是一个可枚举的类型,具有MoveNext()方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询