首 页 | 报价 | 活动 | 硬件 | 数码 | 整机 | 手机 | 新闻 | DIY | 导购 | 学院 | 专题 | 市场地图 | 商家名录 | 商情 | 论坛 | 下载 | 电视 | 算命 | 读心术 | 游戏
您现在的位置: 首页>学院>开发平台>VC/C#>正文
由C 转向C#需要注意的变化(三)
文章来源:CSDN 文章作者: 发布时间:2007-04-23


  引言:每隔10年左右,编程人员就需要花费大量的时间和精力去学习新的编程技术。在80年代是Unix和C,90年代是Windows和C ,现在又轮到了微软的.NETFramework和C#。尽管需要学习新的技术,但由此带来的好处却远高于付出的劳动。
幸运的是,使用C#和.NET进行的大多数工程的分析和设计与在C 和Windows中没有本质的变化。在本篇文章中,我将介绍如何实现由C 到C#的飞跃。

  系列文章:[由C 转向C#需要注意的变化(一)(二)(三)(四)]

  IEnumerable界面

  再回到上面的例子中。象在普通的数组中那样,使用foreach-loop循环结构就能够很好地打印ListBoxTest类中的字符串,通过在类中实现IEnumerable界面就能实现,这是由foreach-loop循环结构隐性地完成的。在任何支持枚举和foreach-loop循环的类中都可以实现IEnumerable界面。

  IEnumerable界面只有一个方法GetEnumerator,其任务是返回一个特别的IEnumerator的实现。从语法的角度来看,Enumerable类能够提供一个IEnumerator。


  Figure5ListBoxClass
  usingSystem;
  //简化的ListBox控制
  publicclassListBoxTest
  {
  //用字符串初始化该ListBox
  publicListBoxTest(paramsstring[]initialStrings)
  {
  //为字符串分配空间
  myStrings=newString[256];
  //把字符串拷贝到构造器中
  foreach(stringsininitialStrings)
  {
  myStrings[myCtr ]=s;
  }
  }
  //在ListBox的末尾添加一个字符串
  publicvoidAdd(stringtheString)
  {
  myStrings[myCtr ]=theString;
  }
  publicstringthis[intindex]
  {
  get
  {
  if(index<0||index>=myStrings.Length)
  {
  //处理有问题的索引
  }
  returnmyStrings[index];
  }
  set
  {
  myStrings[index]=value;
  }
  }
  //返回有多少个字符串
  publicintGetNumEntries()
  {
  returnmyCtr;
  }
  privatestring[]myStrings;
  privateintmyCtr=0;
  }
  publicclassTester
  {






共2页: 上一页 1 [2] 下一页
上一篇:微软C#产品经理对Richard的回应
下一篇:由C 转向C#需要注意的变化(五)
精彩推荐     
关于我们 | 广告服务 | 建站服务 | 招贤纳士 | 会员服务 | 网站地图 | RSS订阅 | 联系我们

实名:中原硅谷网、电脑报价、电脑硬件报价 客服电话:0371-63659150

中原硅谷网 WWW.ZZIT.COM.CN&WWW.ZZ-IT.COM
2003-2007 版权所有