List 刪除指定元素


不能用的方法

  • 不能使用Foreach遍歷
  • 不能使用for正序遍歷

常用的方法有三種:

  • 一、使用for 倒序刪除
  • 二、使用 linq where方法
  • 三、使用 RemoveAll方法

測試代碼:

using System;
using System.Collections.Generic;
using System.Linq;

namespace List刪除元素幾種方式
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> list = new List<string>() {
                "劉德華",
                "張學友",
                "劉德華",
                "劉德華",
            };

            Console.WriteLine("原數據:");

            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("\r");

            /** 下面使用幾種不同的方法刪除劉德華 **/

            //使用 linq where方式
            List<string> list1= list.Where(x => x != "劉德華").ToList();

            Console.WriteLine("方案一(使用linq where)刪除“劉德華”:");

            foreach (var item in list1)
            {
                Console.WriteLine(item);
            }

            List<string> list2 = list;

            //使用 linq RemoveAll
            list2.RemoveAll(x => x == "劉德華");

            Console.WriteLine("\r");
            Console.WriteLine("方案二(使用 RemoveAll)刪除“劉德華”:");
            foreach (var item in list2)
            {
                Console.WriteLine(item);
            }

            List<string> list3 = list;
            //使用 for 倒序
            for (int i = list3.Count-1; i >0; i--)
            {
                if (list3[i] == "劉德華") list3.RemoveAt(i);
            }

            Console.WriteLine("\r");
            Console.WriteLine("方案二(for倒序遍歷)刪除“劉德華”:");
            foreach (var item in list3)
            {
                Console.WriteLine(item);
            }

            Console.ReadKey();

        }
    }
}

 

測試結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM