for循环和foreach
1、可以使用foreach的场景:
(1)只读循环;
(2)如下面所示,遍历删除并不是对自己遍历的值进行删除,而是传递到其他方法进行删除,不会影响本身的索引;
foreach(string str in dirList)
{
fsx.DelDirAllFile(str);
}
(3)在遍历过程中,对符合条件的元素本身的值修改,不影响索引;
(4)在遍历过程中,对符合条件的元素进行删除,但是只删除一项,然后立马使用break退出循环;
2、优先使用for循环的场景:
for(表达式1;表达式2;表达式3)
{循环体}
for循环步骤:①执行表达式1,它只执行一次;②执行表达式2,满足条件,则执行循环体,否则退出循环;③执行表达式3,然后再次执行步骤②,直至循环结束;
(1)在循环中,符合删除条件的超过一项,须使用倒序删除,见例2-1;
(2)遍历删除集合中的元素,须使用倒序删除,见例2-1;
例2-1:
for (int i = dirNodeList.Count - 1; i >= 0; i--)
{
}