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了。这与接口文件中描述的又不一样。~~~~~

  • 相关阅读:
    项目计划进度控制与资源管理
    读大道至简所思
    Java自学第三十二天
    Java自学第三十一天
    Java自学第三十天
    Java自学第二十九天
    Java自学第二十八天
    Java自学第二十七天
    Java自学第二十六天
    Java自学第二十五天
  • 原文地址:https://www.cnblogs.com/wanhongnan/p/5745115.html
Copyright © 2011-2022 走看看