• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

C#进阶(十)

发布: 2007-6-30 23:38 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网      大家好,我是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,不好搞.

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网