C#_删除列表中固定部分的元素

假如我有一个list存储的数据为{ 100, 150, 30, 20, 50, 60, 100, 150, 30, 20, 50, 60,...... },它对应另一个列表中的{product1,product2,product3,product4,product5,product6,product1,product2,product3,product4,product5,product6......}

现在要删除所有所有product3,product4,product5,product6的数据,只留下product1,product2,即{"product1", "product2", "product1", "product2",..... }

要求将列表也进行相应的修改。

下面是可行的方案:

        private static bool Judge(string i)
        {
            return (i == "NeedDelete");
        }
        static void Main(string[] args)
        {
            List<string> Listdays = new List<string>() {"product1", "product2", "product1", "product2" };
            List<int> Listrate = new List<int> { 100, 150, 30, 20, 50, 60, 100, 150, 30, 20, 50, 60 };
            List<string> rateString = Listrate.ConvertAll<string>(x => x.ToString());

            for (int i = 0; i < Listrate.Count; i++)
            {
                if (!(i % 6 == 0 || i % 6 == 1))
                {
                    rateString[i] = "NeedDelete";
                }
            }

            Listrate.Clear();
            rateString.RemoveAll(Judge);
            Listrate = rateString.ConvertAll<int>(x => Convert.ToInt32(x));

            foreach (int num in Listrate)
            {
                Console.WriteLine(num);
            }
            Console.ReadLine();
        }

结果:

posted @ 2020-04-01 15:57  自定义的星空  阅读(518)  评论(0)    收藏  举报