基于Visual Studio2010讲解C#4.0语法(5)--使用CollectionClasses
以下代码是在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相关推荐
- 基于Visual Studio2010讲解LINQ读出数据库数据生成XML
LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML. LINQ to XML 最重要的优势是它与 Lang ...
- 基于Visual Studio2010与.NET 4.0--多显示器支持使开发效率事半功倍
在科幻电影中那些黑客们的屏幕装备:中间一个大屏幕,绿色的代码不断翻滚,一会排成个"高"字,一会排成个"手"字.主屏幕旁边还有几个小显示器,显示着来自各个方向的信 ...
- 基于Visual Studio2010开发office2010办公自动化应用(12)自定义VisioAddIn插件
Visio 2010 的十大优点 使用适用于 IT.业务和流程管理等的预先画好的不同形状.示例图形和模板可以快速开始制图.无论需要何种制图,Visio 都可以帮助您快速开始. 在同一位置找到所有所需的 ...
- 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 ...
- 如何调用DLL (基于Visual C++6.0的DLL编程实现)
如何调用DLL (基于Visual C++6.0的DLL编程实现) http://www.programfan.com/article/showarticle.asp?id=2923 一.前言 自从微 ...
- C++ 基于 Visual C++6.0 的 DLL 编程实现
基于 Visual C++6.0 的 DLL 编程实现 一.前言 自从微软推出 16 位的 Windows 操作系统起,此后每种版本的 Windows 操作系统都非常依赖于动态链接库 (DLL) 中 ...
- 第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验操作指导
第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验 文章目录 第一章:基于Visual C++ 6.0使用运动控制卡控制电机转动实验 一.实验目的: 1.学习运动控制卡的使用 2. ...
- 计算道路超高lisp_基于Visual LISP的地铁轨道综合图辅助设计程序开发
基于Visual LISP的地铁轨道综合图辅助设计程序开发 基于Visual LISP的地铁轨道综合图辅助设计程序开发 吴凯伟,石玮荃 (中铁工程设计咨询集团有限公司,北京 100055) 摘 要:为 ...
- 在windows下基于visual studio2017和CMake的安装Google glog
这里简单记录安装google glog在windows下基于visual studio2017的安装过程. 下载 https://github.com/google/glog 使用cmake编译,编译 ...
最新文章
- Javascript - prototype、__proto__、constructor
- 奥巴马表示10天内债务谈判出结果 债务违约可能性底
- mysql pstop_ps-top 用于MySQL的数据库top工具
- spring 04-Spring框架依赖注入基本使用
- (十二)运行环境(加载、性能优化、安全)【这些会了,你就可以飞了】
- 【算法学习笔记】19.算法设计初步 最大子列和问题的几种方法
- 七、操作系统——动态分区分配算法(详解)
- 山西大学计算机应用专业,山西大学计算机应用技术专业
- JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))
- 找出占用cpu最高的线程
- 第2章 算法1---《大话数据结构》读书笔记
- 复习PHP-语言参考-类与对象
- c 语言申明头文件和实现分开简单例子
- Java 递归求后一个数是前两个数之和
- NP、P、NPC、NP-hard 概念辨析
- 不同云服务商之间域名转出转入(阿里云 转出至 腾讯云)
- IB心理学生物分析模块
- 网络-单播、多播(组播)和广播的区别
- 任正非:股权激励拯救了华为!
- JixiPix Rainy Daze for Mac (照片下雨效果制作软件)
热门文章
- 报表中利用隐藏列对扩展格显示值求和
- 各种边缘检测算法效果对比-差分运算法、Sobel、Scharr、Laplace(拉普拉斯)、Roberts、Canny
- leetcode算法题--二叉树的最近公共祖先
- leetcode算法题--大礼包
- CListCtrl列表控件---总结
- GDB调试器使用手册
- “Hello,Jetpack”:构建您的第一个Jetpack应用程序
- 日志管理系统的重要性---怼死你的客户
- html,css,js,反弹的js效果
- 烂泥:python2.7和python3.5源码安装