【发布时间】:2013-11-22 23:30:17
【问题描述】:
此代码不起作用,但是:
public virtual ICollection<SomeItem> items { get { return (ICollection<SomeItem>)items.Where(e => e.isVisible == true); } set { ;} }
我想为此做点什么。因此,要获取由集合元素的属性过滤的 ICollection。
当然,我可以遍历元素,并获得正确的元素,将它们放入新集合并返回,但有更好的解决方案吗?
【问题讨论】:
-
你得到什么错误信息?
-
为什么它不起作用?
items是什么? -
你想使用一个属性本身?这会给你著名的
StackOverFlow例外。 -
返回
IEnumerable<SomeItem>。实现ICollection<SomeItem>的最简单方法是调用ToList(),它返回一个List<SomeItem>,它实现了ICollection<SomeItem>(以及一些其他接口) -
您是否使用 System.Linq 添加;在源文件的顶部?
标签: c# icollection