C#中List有关删除的问题

C#中List有关删除的问题

//类定义
public class CVirtualWall
{
    public PointF p1 { get; set; }
    public PointF p2 { get; set; }
    public int key { get; set; }
    public CVirtualWall(PointF pointF1, PointF pointF2, int iVWId)
    {
        p1 = pointF1;
        p2 = pointF2;
        key = iVWId;
    }
}
//定义List
 public static List<CVirtualWall> VirtualWalls = new List<CVirtualWall>(); 

使用Linq可以这样写:
1.VirtualWalls.Where(m=>m.p1 == p1).ToList().ForEach(x=> { VirtualWalls.Remove(x); });
2.

foreach (InfoBook x in list.Where(m => m.p1 == p1))
    list.Remove(x);

其中p1为list中的一个值。

3.直接删除
(1)获取删除值所在的索引号index:VirtualWalls.Remove(VirtualWalls[index]);
或者:VirtualWalls.RemoveAt(index);

*注意下面方式无法删除:

 CVirtualWall cVirtualWall = new CVirtualWall(p1, p2, key);
 Global.VirtualWalls.Remove(cVirtualWall);//(XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值