首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

由C++转向C#需要注意的变化(3)

2009-03-05 
二级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
  {

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行