当前位置:首页 > 网络编程 > WEB编程 > ASP.net > SUNWEN教程之----C#进阶(十)

SUNWEN教程之----C#进阶(十)

点击次数:27 次 发布日期:2008-11-27 00:13:49 作者:源代码网
源代码网推荐 大家好,我是SUNWEN.今天下午得知,晚上要去当"更夫".呵呵,我们这个学校很是奇怪,要叫我们轮流去通宵巡逻,从晚上10:30到早上6:00.我有一个物理系的朋友,上次在田家炳楼门前找了一个宣传板,垫在下面就睡了一觉,听了笑死我了!哈哈!

现在我想说的是C#中的容器.这是一个非常重要的话题,因为不管你写什么样的程序,你都不能不与容器打交道.什么是容器呢(倒!).容器就是可以容纳东西的东西(再倒!),在C#和JAVA这种面向对象的编程语言中,容器就被称为可以容纳对象的东东,不是说"一切都是对象吗?"以前,我一个搞C++的程序员朋友告诉我,JAVA中的容器太好用了,比C++好用多了.而作为JAVA的后来者的C#毫无疑问,它的容器功能肯定也是很强大的.

foreach语句是遍历容器的元素的最简单的方法.我们可以用System.Collections.IEnumerator类和System.Collections.IEnumerable接口来使用C#中的容器,下面有一个例子,功能是字符串分割器.

000: // CollectionClasses okens.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,不好搞.
源代码网推荐
源代码网推荐
源代码网供稿.

网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华