请问泛型中如果移除了某个元素,其余元素的索引怎么办? rt 是后面元素的index--吗?假如我对泛型遍历的时候(for 或 foreach)在满足条件时移除其中的元素,那后面的遍历过程会不会出错? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在for循环中不会受到影响,在foreach循环中不允许你直接删除List<int> sl = new List<int>(); sl.Add(1); sl.Add(2); sl.Add(3); sl.Add(4); sl.Add(5); int count = sl.Count - 1; for (int i = count; i >= 0; i--) { if (sl[i] % 2 == 1) { sl.RemoveAt(i); continue; } Console.WriteLine(sl[i]); } 但是记得在for里面删的时候要倒着删,不能顺着删 就像1,2楼说的,要删除要倒序遍历,foreach是只读的,不允许删除操作,不然会抱错 但是记得在for里面删的时候要倒着删,不能顺着删 以前一直不晓得for语句和foreach语句的区别,都混着用的。 如何把byte[]读到Stream对象中 新手求助,VS2005 环境问题() C#怎么调用CMD执行多条命令呢 如何用C#向html文件中写入数据并且数据可以改变? 后台CS中JavaScript问题? 从索引 0 处开始,初始化字符串的格式不符合规范 请教一个在DATASET绑定到DATAGRID时替换字段的问题~~,各位请进~ oracel9i的服务器端跟.net有冲突吗? 图片的热点事件 .net高级工程师面试题 关于 Hashtable 的问题 C#中如何输出字符串的地址及占用内存大小
sl.Add(1);
sl.Add(2);
sl.Add(3);
sl.Add(4);
sl.Add(5); int count = sl.Count - 1;
for (int i = count; i >= 0; i--)
{
if (sl[i] % 2 == 1)
{
sl.RemoveAt(i);
continue;
}
Console.WriteLine(sl[i]);
}