我需要找林克
Skip()
和
Take()
重新实现,使它们返回与所应用的项相同的项集-不跳过任何项,全部接受。我发现
this answer
Where()
. 所以我精心制作了这个:
public interface IDataEnumerator<StoredItemType> : IEnumerable<StoredItemType>
{
IDataEnumerator<StoredItemType> Skip(int count);
}
public class DataEnumerator<StoredItemType> : IDataEnumerator<StoredItemType>
{
private IEnumerable<StoredItemType> storedItems;
public DataEnumerator(IEnumerable<StoredItemType> items)
{
storedItems = items;
}
public IDataEnumerator<StoredItemType> Skip(int count)
{
return this;
}
public IDataEnumerator<StoredItemType> Take(int count)
{
return this;
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
public IEnumerator<StoredItemType> GetEnumerator()
{
return storedItems.GetEnumerator();
}
}
IEnumerable<int> enumerator = new DataEnumerator<int>(new List<int>());
enumerator = enumerator.Take(1).Skip(1);
构造函数被调用,但是
跳过()
和
Take()
其中()
.
跳过()
和
Take()
?