zoukankan      html  css  js  c++  java
  • D语言中的Range与C#中IEnumreable的区别

          基本的Range使用的接口函数有 front, popFront, empty三个函数,只要实现这三个函数,就是一个Range 。使用这三个函数来访问元素时代表着这是一个有序的集合,因此可以称Range为序列集,这是一个队列式的操作。

          而C#中的IEnumreable只要求能访问元素,并无有序要求,这与C#中的opApply接口相同。

          在D语言中有两种迭代方式,一种是实现 front, popFront ,empty这三个接口,另一种是实现opApply接口,只要实现其中一个就可以使用foreach进行迭代式访问。

          注意,仅仅实现opApply接口的对象是可以使用foreach来访问,而他并不是一个Range。

          在InputRange的接口中,则更加严格,需要同时实现以上两个接口才是一个InputRange。

          一个朋友告诉我,在Range中有一个isInputRange函数来检测是否为InputRange,这里面只检测front, popFront ,empty这三个接口,这么说只要实现这三个函数,就是一个InputRange,这样InputRange就是最基本的Range了。这与接口文件中描述的又不一样。~~~~~

  • 相关阅读:
    Python之旅.第十章.mysql..
    Python之旅.第十章.mysql.
    Python之旅.第十章.mysql.
    Python之旅.第十章.mysql。
    Mac 移动光标和删除
    网络编程——socket开发
    闭包(closure)
    命名空间 and 作用域
    Function
    for循环的禁忌
  • 原文地址:https://www.cnblogs.com/wanhongnan/p/5745115.html
Copyright © 2011-2022 走看看