List<T>在C#应用程序中是一种快捷、易于使用的泛型集合类型,使用泛型编程为编写面向对象程序增加了极大的效率和灵活性,不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换。通过学习记录一下这个很实用的方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace list
{
public class OneNetBox
{
private int id;
private String sn;
public int Id { get => id; set => id = value; }
public string Sn { get => sn; set => sn = value; }
}
class Program
{
static void Main(string[] args)
{
List<OneNetBox> boxs = new List<OneNetBox>();
for (int i = 0; i < 5; i++)
{
OneNetBox boxTest = new OneNetBox();
boxTest.Sn = "FDFD0001" + i.ToString();
boxTest.Id = i;
boxs.Add(boxTest);// 添加操作
}
Console.WriteLine("FOR遍历");
for (int i = 0; i < 5; i++)
{
Console.Write(boxs[i].Sn);
Console.WriteLine(boxs[i].Id);
}
Console.WriteLine("foreach遍历");
foreach (OneNetBox items in boxs)
{
Console.Write(items.Sn);
Console.WriteLine(items.Id);
}
Console.WriteLine("删除某元素");
for (int i = 4; i >= 0; i--)
{
if (boxs[i].Sn.Equals("FDFD00011"))
{
boxs.Remove(boxs[i]);//删除操作
}
}
Console.WriteLine("删除后");
foreach (OneNetBox items in boxs)
{
Console.Write(items.Sn);
Console.WriteLine(items.Id);
}
Console.ReadLine();
}
}
}
删除的操作需要后续遍历。不然会出问题。每一次删除都会导致集合的大小和元素索引值发生变化,从需导致在删除元素会出现异常。