sc0*_*tbr 2 c# ienumerable interface
根据我对接口的理解,为了使用它们,你必须通过在冒号后面添加接口的名称来声明一个类正在实现它,然后实现这些方法.
我目前正在学习枚举器,IEnumerable等等,这让我很困惑.这是我的意思的一个例子:
static IEnumerable<int> Fibs(int fibCount)
{
for (int i = 0, prevFib = 1, curFib = 1; i < fibCount; i++) {
yield return prevFib;
int newFib = prevFib + curFib;
prevFib = curFib;
curFib = newFib;
}
}
Run Code Online (Sandbox Code Playgroud)
IEnumerable似乎是一个普通的接口,我甚至检查了方法定义,这就是它的样子.
我怎么可能在方法定义中使用接口作为类型/返回类型,何时/如何知道我应该使用某些接口作为此示例中的类型?
编辑:我真的怀疑它与yield关键字有什么关系,因为很多接口都以这种方式用作属性,例如在模型中的MVC中,并像它一样传递给Views.例:
public IEnumerable<Category> Categories {get;set;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |