繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> SUNWEN教程之----C#进阶10

SUNWEN教程之----C#进阶10

2007-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:SUNWEN教程之----C#进阶 (十) mrfat@china.com 大家好,我是SUNWEN.今天下午得知,晚上要去当"更夫".呵呵,我们这个学校很是奇怪,要叫我们轮流去通宵巡逻,从晚上10:30到早上6:00.我有一个物理系的朋友,上次在田家...
关键字:进阶 教程 SUNWEN

SUNWEN教程之----C#进阶

(十)

mrfat@china.com

大家好,我是SUNWEN.今天下午得知,晚上要去当"更夫".呵呵,我们这个学校很是奇怪,要叫我们轮流去通宵巡逻,从晚上10:30到早上6:00.我有一个物理系的朋友,上次在田家炳楼门前找了一个宣传板,垫在下面就睡了一觉,听了笑死我了!哈哈!

现在我想说的是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,不好搞.

下一页

责任编辑:admin
相关文章