读书人

两个list循环一个另一个Remove报错

发布时间: 2012-09-08 10:48:07 作者: rapoo

两个list,循环一个,另一个Remove报错,想不明白 求解

C# code
        List<Model.ElectricityMeterInfo> operateModels = new List<DaHuaElectricMeter.Model.ElectricityMeterInfo>();        List<Model.ElectricityMeterInfo> operateTmpModels = new List<DaHuaElectricMeter.Model.ElectricityMeterInfo>(); foreach (Model.ElectricityMeterInfo emi in Command.SystemData.emiModels)                    {                        operateModels.Add(emi);                        operateTmpModels.Add(emi);                    } foreach (Model.ElectricityMeterInfo e in operateModels) {  operateTmpModels.Remove(e);}

报错了,两个List的count全部都改变,我就想不明白是为什么

[解决办法]
C# code
                        List<int> list1 = new List<int>();            List<int> list2 = new List<int>();            for (int i = 0; i < 10; i++)            {                list1.Add(i);                list2.Add(i);            }            foreach (var item in list1)            {                list2.Remove(item);            }            List<object> list3 = new List<object>();            List<object> list4 = new List<object>();            for (int i = 0; i < 10; i++)            {                object temp = new object();                list3.Add(temp);                list4.Add(temp);            }            foreach (var item in list3)            {                list4.Remove(item);            } 

读书人网 >C#

热点推荐