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}"); }//能看到完全刪除了