以下代码是在VS2010中调试运行通过的

using System; using System.Collections; // Declare the Tokens class: public class Tokens : IEnumerable { private string[] elements; Tokens(string source, char[] delimiters) { //将字符串分析为标记 elements = source.Split(delimiters); } // IEnumerable 接口实现 // 声明 IEnumerable 所需的GetEnumerator() 方法 public IEnumerator GetEnumerator() { return new TokenEnumerator(this); } // 内部实现 IEnumerator 接口 private class TokenEnumerator : IEnumerator { private int position = -1; private Tokens t; public TokenEnumerator(Tokens t) { this.t = t; } // 声明 IEnumerator 所需的 MoveNext() 方法 public bool MoveNext() { if (position < t.elements.Length - 1) { position++; return true; } else { return false; } } // 声明 IEnumerator 所需的 Reset 方法 public void Reset() { position = -1; } // 声明 IEnumerator 所需的 Current 属性 public object Current { get { return t.elements[position]; } } } // 测试Tokens,TokenEnumerator static void Main() { // 测试通过打破令牌将令牌字符串 Tokens f = new Tokens("This is a well-done program.", new char[] {' ','-'}); foreach (string item in f) { Console.WriteLine(item); } Console.Read(); } }

运行界面如下:

转载于:https://www.cnblogs.com/yincheng01/archive/2010/05/14/2213245.html

基于Visual Studio2010讲解C#4.0语法(5)--使用CollectionClasses相关推荐

  1. 基于Visual Studio2010讲解LINQ读出数据库数据生成XML

    LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML.  LINQ to XML 最重要的优势是它与 Lang ...

  2. 基于Visual Studio2010与.NET 4.0--多显示器支持使开发效率事半功倍

    在科幻电影中那些黑客们的屏幕装备:中间一个大屏幕,绿色的代码不断翻滚,一会排成个"高"字,一会排成个"手"字.主屏幕旁边还有几个小显示器,显示着来自各个方向的信 ...

  3. 基于Visual Studio2010开发office2010办公自动化应用(12)自定义VisioAddIn插件

    Visio 2010 的十大优点 使用适用于 IT.业务和流程管理等的预先画好的不同形状.示例图形和模板可以快速开始制图.无论需要何种制图,Visio 都可以帮助您快速开始. 在同一位置找到所有所需的 ...

  4. ASM Visual Pro 1.1.3.0支持主要的MASM,FASM,TASM编译器-SEO狼术

    ASM Visual Pro 1.1.3.0建造 开箱即用地支持主要的MASM,FASM,TASM编译器 ASM Visual Pro 1.1.3.0调试 支持同时运行第三方调试器WinDbg,Oll ...

  5. 如何调用DLL (基于Visual C++6.0的DLL编程实现)

    如何调用DLL (基于Visual C++6.0的DLL编程实现) http://www.programfan.com/article/showarticle.asp?id=2923 一.前言 自从微 ...

  6. C++ 基于 Visual C++6.0 的 DLL 编程实现

    基于 Visual C++6.0 的 DLL 编程实现 一.前言  自从微软推出 16 位的 Windows 操作系统起,此后每种版本的 Windows 操作系统都非常依赖于动态链接库 (DLL) 中 ...

  7. 第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验操作指导

    第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验 文章目录 第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验 一.实验目的: 1.学习运动控制卡的使用 2. ...

  8. 计算道路超高lisp_基于Visual LISP的地铁轨道综合图辅助设计程序开发

    基于Visual LISP的地铁轨道综合图辅助设计程序开发 基于Visual LISP的地铁轨道综合图辅助设计程序开发 吴凯伟,石玮荃 (中铁工程设计咨询集团有限公司,北京 100055) 摘 要:为 ...

  9. 在windows下基于visual studio2017和CMake的安装Google glog

    这里简单记录安装google glog在windows下基于visual studio2017的安装过程. 下载 https://github.com/google/glog 使用cmake编译,编译 ...

最新文章

  1. Javascript - prototype、__proto__、constructor
  2. 奥巴马表示10天内债务谈判出结果 债务违约可能性底
  3. mysql pstop_ps-top 用于MySQL的数据库top工具
  4. spring 04-Spring框架依赖注入基本使用
  5. (十二)运行环境(加载、性能优化、安全)【这些会了,你就可以飞了】
  6. 【算法学习笔记】19.算法设计初步 最大子列和问题的几种方法
  7. 七、操作系统——动态分区分配算法(详解)
  8. 山西大学计算机应用专业,山西大学计算机应用技术专业
  9. JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))
  10. 找出占用cpu最高的线程
  11. 第2章 算法1---《大话数据结构》读书笔记
  12. 复习PHP-语言参考-类与对象
  13. c 语言申明头文件和实现分开简单例子
  14. Java 递归求后一个数是前两个数之和
  15. NP、P、NPC、NP-hard 概念辨析
  16. 不同云服务商之间域名转出转入(阿里云 转出至 腾讯云)
  17. IB心理学生物分析模块
  18. 网络-单播、多播(组播)和广播的区别
  19. 任正非:股权激励拯救了华为!
  20. JixiPix Rainy Daze for Mac (照片下雨效果制作软件)

热门文章

  1. 报表中利用隐藏列对扩展格显示值求和
  2. 各种边缘检测算法效果对比-差分运算法、Sobel、Scharr、Laplace(拉普拉斯)、Roberts、Canny
  3. leetcode算法题--二叉树的最近公共祖先
  4. leetcode算法题--大礼包
  5. CListCtrl列表控件---总结
  6. GDB调试器使用手册
  7. “Hello,Jetpack”:构建您的第一个Jetpack应用程序
  8. 日志管理系统的重要性---怼死你的客户
  9. html,css,js,反弹的js效果
  10. 烂泥:python2.7和python3.5源码安装