1. 程式人生 > >List<T> 刪除指定元素

List<T> 刪除指定元素

不能用的方法

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

常用的方法有三種:

  • 一、使用for 倒序刪除
  • 二、使用 linq where方法
  • 三、使用 linq 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("方案二(使用linq 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(); } } }

 

測試結果: