当前位置:
首页 > 编程开发 > Objective-C编程 >
-
SUNWEN教程之----C#进阶九
现在我想说的是C#中的容器.这是一个非常重要的话题,因为不管你写什么样的程序,你都不能不与容器打交道.什么是容器呢(倒!).容器就是可以容纳东西的东西(再倒!),在C#和JAVA这种面向对象的编程语言中,容器就被称为可以容纳对象的东东,不是说"一切都是对象吗?"以前,我一个搞C++的程序员朋友告诉我,JAVA中的容器太好用了,比C++好用多了.而作为JAVA的后来者的C#毫无疑问,它的容器功能肯定也是很强大的.
foreach语句是遍历容器的元素的最简单的方法.我们可以用System.Collections.IEnumerator类和System.Collections.IEnumerable接口来使用C#中的容器,下面有一个例子,功能是字符串分割器.
000: // CollectionClasses\tokens.cs 001: using System; 002: using System.Collections; 003: 004: public class Tokens : IEnumerable 005: { 006: private string[] elements; 007: 008: Tokens(string source, char[] delimiters) 009: { 010: elements = source.Split(delimiters); 011: } 012: 013: //引用IEnumerable接口 014: 015: public IEnumerator GetEnumerator() 016: { 017: return new TokenEnumerator(this); 018: } 019: 020: 021: 022: private class TokenEnumerator : IEnumerator 023: { 024: private int position = -1; 025: private Tokens t; 026: 027: public TokenEnumerator(Tokens t) 028: { 029: this.t = t; 030: } 031: 032: public bool MoveNext() 033: { 034: if (position < t.elements.Length - 1) 035: { 036: position++; 037: return true; 038: } 039: else 040: { 041: return false; 042: } 043: } 044: 045: public void Reset() 046: { 047: position = -1; 048: } 049: 050: public object Current 051: { 052: get 053: { 054: return t.elements[position]; 055: } 056: } 057: } 058: 059: // 测试 060: 061: static void Main() 062: { 063: Tokens f = new Tokens("This is a well-done program.", new char[] {' ','-'}); 064: foreach (string item in f) 065: { 066: Console.WriteLine(item); 067: } 068: } 069: }这个例子的输出是:
This is a well done program.好了,这一节就说到这了.现在环境不太好,旁边一大帮同学在看VCD,不好搞.
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
JavaScript判断两个数组相等的四类方法
js如何操作video标签
React实战--利用甘特图和看板,强化Paas平
【记录】正则替换的偏方
前端下载 Blob 类型整理
抽象语法树AST必知必会
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程