有条件地从列表中删除项目

时间:2017-03-04 17:17:01

标签: c#

我有一个对象列表List<Points>,每个对象(Points)都有一些属性,如x,y和z。 (Points.xPoints.yPoints.z是双打的) 我想删除有一些条件的对象。例如,应删除x <= 5,6 <= y <10,z <20的对象。我怎么能这样做?

由于

2 个答案:

答案 0 :(得分:0)

您可以使用RemoveAll这样的方法:

list.RemoveAll(p => p.x <= 5 && p.y >= 6 && p.y < 10 && p.z < 20);

答案 1 :(得分:0)

您可以使用Linq

  var pointList = new List<Point>();

  pointList = pointList.Where( p => 
              !((p.X <= 5) && (p.Y > 6 && p.Y < 10) && (p.Z < 20)))
              .ToList();

或者另一个在列表对象上使用RemoveAll方法

   pointList.RemoveAll(p => (p.X <= 5) && (p.Y > 6 && p.Y < 10) && (p.Z < 20));