【发布时间】:2017-05-21 03:20:47
【问题描述】:
我有一组具有属性的对象,我想在 LINQ 中删除(比如说)值为 0 的所有尾随对象。
public class Object
{
public Object(){}
public int Property {get; set;}
}
如果我有一个对象列表:
new Object(){ Property = 1};
new Object(){ Property = 0};
new Object(){ Property = 9};
new Object(){ Property = 7};
new Object(){ Property = 0}; // "trailing zero"
new Object(){ Property = 0}; // "trailing zero"
new Object(){ Property = 0}; // "trailing zero"
我将如何删除此列表中的“尾随零”?我不想删除所有为零的属性,但我想从列表中删除任何属性值为 0 的对象,前提是它后面不是更大的属性值。
【问题讨论】:
-
你有什么样的收藏?
-
@DanielA.White 我目前正在使用 List
-
你尝试了什么?你在哪里遇到麻烦了?为什么需要使用 LINQ?您是否经常使用 LINQ 来更改现有集合?您是否知道您的对象列表在哪种容器类中,或者如您的问题中所建议的那样,您是否只是调用一堆构造函数并将实例扔到风中,就像海德公园的蝴蝶一样?
-
@Amy 所有类都应该命名为Object,所有属性都应该命名为Property;这本质上是自我记录的,并强制执行“做一件事”规则。
-
@EdPlunkett 大声笑,我认为人们会明白所有实例都被神奇地抛到了风中。显然,如果这是我的实际代码,我会问其他问题。