C#怎么從List集合中刪除某個元素?


1.首先在該命名空間下創建一個實體,和在Main方法下List集合,為后續做准備:

/// <summary> /// 實體 /// </summary> public class Student { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } public string Location { get; set; } public string Hobby { get; set; } }
//創建一個List集合 List<Student> Students = new List<Student>(); //添加數據 Students.Add(new Student() { ID=1, Name="豬豬俠", Age=12, Location="長沙", Hobby = "打怪" }); Students.Add(new Student() { ID = 2, Name = "貓咪", Age = 15, Location = "株洲", Hobby = "打球" }); Students.Add(new Student() { ID = 3, Name = "大象", Age = 34, Location = "邵陽", Hobby = "抽血" }); Students.Add(new Student() { ID = 4, Name = "猴子", Age = 32, Location = "醴陵", Hobby = "吃香蕉" }); Students.Add(new Student() { ID = 5, Name = "鴨子", Age = 30, Location = "山西", Hobby = "吃蚯蚓" });

 

一、【錯誤演示】:有很多人會使用遍歷,但是順序遍歷會導致刪除不完整

 for (int i = 0; i <= Students.Count; i++) {
     Students.Remove(Students[i]);
     //Students.RemoveAt(i);
     //Students.RemoveRange(i, 1);
 }
foreach (var item in Students) {
     Console.WriteLine($"ID:{item.ID}--Name:{item.Name}--Age:{item.Age}--Location:{item.Location}--Hpbby:{item.Hobby}");
}

//沒有按照預想的刪除完成

 

二、【正確演示】:使用倒序遍歷

 //【正確演示】
for (int i = Students.Count-1; i >= 0; i--) {
      Students.Remove(Students[i]);
}
foreach (var item in Students)
{
      Console.WriteLine($"ID:{item.ID}--Name:{item.Name}--Age:{item.Age}--Location:{item.Location}--Hpbby:{item.Hobby}");
}

//能看到完全刪除了


免責聲明!

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



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