我有一个暴露内部IList <>的类属性
System.Collections.ObjectModel.ReadOnlyCollection<>
如何在ReadOnlyCollection<>
不将元素复制到新数组的情况下传递其中的一部分(我需要实时视图,而目标设备内存不足)?我的目标是Compact Framework 2.0.
尝试使用yield返回枚举的方法:
IEnumerableFilterCollection ( ReadOnlyCollection input ) { foreach ( T item in input ) if ( /* criterion is met */ ) yield return item; }
这些foreach样本很好,但是如果你使用.NET 3.5和LINQ,你可以使它们更简洁:
return FullList.Where(i => IsItemInPartialList(i)).ToList();