我正在寻找Skip接口的IEnumerable方法。
IList公共IEnumerable
接口,所以我认为我能够访问该方法。
无论如何,以下代码无法在Mono上编译:
private static void SkipFirst(IList<float> list)
{
IList<float> skippedFirst = list.Skip(1);
}
这是错误:
错误CS1061:键入
System.Collections.Generic.IList<float>' does not contain a definition for
Skip',找不到扩展方法Skip' of type
System.Collections.Generic.IList'(您是缺少using指令或程序集引用?)
我究竟做错了什么?如何从
IList
界面访问该方法? 最佳答案
Skip
是扩展方法,因此实际上不是任何集合类的方法。而是由Linq定义。您需要添加对Linq的引用:using System.Linq;
list.Skip(1)
只是语法糖,实际上已转换为Enumerable.Skip(list, 1)
另外,Skip
返回IEnumerable<T>
,这意味着您需要使用
IList<float> skippedFirst = list.Skip(1).ToList();
要么
IEnumerable<float> skippedFirst = list.Skip(1);
关于c# - IEnumerable接口(interface)和Mono中的Skip方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13065392/