c#删除list中的元素

 

        public static void TestRemove() {
            string[] str = { "1", "2", "d", "x" };
            List<string> list = new List<string>(str);

            #region has error
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
                Console.WriteLine("Result:" + i + ":" + i / 2);
                if (i % 2 == 0)
                {
                    list.Remove(list[i]);
                }
            } 
            #endregion

            Console.WriteLine("============================================");
            list = new List<string>(str);
            for (int i = list.Count-1; i >= 0; i--)
            {
                Console.WriteLine(list[i]);
                Console.WriteLine("Result:" + i + ":" + i / 2);
                if (i % 2 == 0)
                {
                    Console.WriteLine(string.Format(" delete .index:{0} value:{1}",i,list[i]));
                    list.Remove(list[i]);
 
                }
            }
        }
output:

1
Result:0:0
d
Result:1:0
x
Result:2:1
============================================
x
Result:3:1
d
Result:2:1
delete .index:2 value:d
2
Result:1:0
1
Result:0:0
delete .index:0 value:1

 

 
 
posted @ 2013-09-29 15:02  沧海一滴  阅读(3626)  评论(0编辑  收藏  举报