进阶教程十中的容器计划
民生历史 2021-08-24 13:34 字号: 大 中 小
C#中的容器
现在我想说的是C#中的容器.这是一个非常重要的话题,因为不管你写什么样的程序,你都不能不与容器打交道.什么是容器呢(倒!).容器就是可以容纳东西的东西(再倒!),在C#和JAVA这种面向对象的编程语言中,容器就被称为可以容纳对象的东东,不是说\"一切都是对象吗?\"以前,我一个搞C++的程序员朋友告诉我,JAVA中的容器太好用了,比C++好用多了.而作为JAVA的后来者的C#毫无疑问,它的容器功能肯定也是很强大的.
foreach语句是遍历容器的元素的最简单的方法.我们可以用numerator类和numerable接口来使用C#中的容器,下面有一个例子,功能是字符串分割器.
000: // CollectionClasses\\
001: using System;
002: using llections;
003:
004: public class Tokens : IEnumerable
005: {
006: private string[] elements;
007:
008: Tokens(string source, char[] delimiters)
009: {
010: elements = lit(delimiters);
011: }
012:
013:
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 ngth - 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 ements[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: iteLine(item);
067: }
068: }
069: }
这个例子的输出是:
This
is
a
well
done
program.
好了,这一节就说到这了.现在环境不太好,旁边一大帮同学在看VCD,不好搞.
南宁不孕不育医院哪家好潮州癫痫医院路线
广州新标家居好不好
-
-
10月第三周海南土地市场成交16宗呈持续
10月第三周海南土地市场成交16宗 呈持续低迷势数据显示,201...
2020-08-06 | 民生历史
-
-
曝曼城签瓜帅昔日爱将已达协议队友已向他告搭配
曝曼城签瓜帅昔日爱将已达协议 队友已向他告别曼城已经十分...
2020-06-06 | 民生历史
-
-
黄蜂亿元先生左肘韧带撕裂最快月复出搭配
黄蜂.亿元先生左肘韧带撕裂 最快月复出巴图姆曾帮助国家队...
2020-06-05 | 民生历史
-
-
一线房贷利率优惠重回8时代今年料前松后紧搭配
一线房贷利率优惠重回"8"时代 今年料前松后紧融360最新报告显...
2020-05-30 | 民生历史
-
-
海南土地政策保护好环境是第一前提搭配
海南土地政策:保护好环境是第一前提资料图:1月5日,海南...
2020-05-28 | 民生历史
-
-
小法皇马有望欧冠连冠伊涅斯塔本能拿金球搭配
小法:皇马有望欧冠连冠 伊涅斯塔本能拿金球小法认为伊涅斯...
2020-05-27 | 民生历史