程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> c#List循環以及移除列表中的元素

c#List循環以及移除列表中的元素

編輯:C#基礎知識

對於一個List<T>對象來說移除其中的元素是常用的功能。自己總結了一下,列出自己所知的幾種方法。

 class Program
     {
         static void Main(string[] args)
         {
             try
             {
                 List<Student> studentList = new List<Student>();
                 for (int i = 0; i < 10; i++)
                 {
                     Student s = new Student()
                     {
                         Age = 10,
                         Name = "John"
                     };
                     studentList.Add(s);
                 }
                 studentList.Add(new Student("rose",9));
                 studentList.Add(new Student("rose", 10));
                 studentList.Add(new Student("rose", 11));
 
                                                                   //不能用foreach進行刪除列表元素的操作,因為這種刪除方式破壞了索引
                 //foreach (var testInt in studentList)
                 //{
                 //    if (testInt.Age == 10)
                 //        studentList.Remove(testInt);
                 //}
                 Console.Read();
             }
             catch (Exception)
             {
 
                 throw;
             }
             
             
         }
     }

 

方法1:for循環倒序移除

//for循環倒序刪除
                 for (int i = studentList.Count - 1; i >= 0; i--)
                 {
                     if (studentList[i].Age == 10)
                     {
                         studentList.Remove(studentList[i]);
                         //studentList.RemoveAt(i);
                     }
                 }

  

方法2:for循環順序移除

//for循環順序刪除
                 for (int i = 0; i < studentList.Count - 1; )
                 {
                     if (studentList[i].Age==10)
                     {
                         studentList.Remove(studentList[i]);
                     }
                     i++;
                 }

  

方法3:使用RemoveAll篩選移除

 studentList.RemoveAll((test) => test.Age == 10);//可以用此Linq表達式移除所有符合條件的列表元素

  

方法4:克隆所有非移除元素至一個新的列表中

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved