現在我想說的是C#中的容器.這是一個非常重要的話題,因為不管你寫什麼樣的程式,你都不能不與容器打交道.什麼是容器呢(倒!).容器就是可以容納東西的東西(再倒!),在C#和java這種物件導向的程式語言中,容器就被稱為可以容納物件的東東,不是說"一切都是物件嗎?"以前,我一個搞C++的程式設計師朋友告訴我,JAVA中的容器太好用了,比C++好用多了.而作為JAVA的後來者的C#毫無疑問,它的容器功能肯定也是很強大的.
foreach語句是遍歷容器的元素的最簡單的方法.我們可以用System.Collections.IEnumerator類別和System.Collections.IEnumerable介面來使用C#中的容器,下面有一個例子,功能是字串分割器.
000: / / CollectionClassestokens.cs
001: using System;
002: using System.Collections;
003:
004: public class Tokens : IEnumerable
005: {p string source, char[] delimiters)
009: {
010: elements = source.Split(delimiters);
011: }
012:
013: //引用IEnumerable介面014: 工具016: {
017: return new TokenEnumerator(this);
018: }
019:
020:
021:
022: private class TokenEnumeratorator: IEeratator
022: private class TokenEnumerator pri: IEerator
023: private class TokenEnumerator pri: IEerator
;
025 : private Tokens t;
026:
027: public TokenEnumerator(Tokens t)
028: {
029: this.t = t;
030: }
031:
034: if (position 035: {
036: position++;
037: return true;
038: }
039: elseturn
040:1438: }
039: elseturn 040:1004040:10047; }
043: }
044:
045: public void Reset()
046: {
047: position = -1;
048: }
049:
050: publicget object 053: {
054: return t.elements[position];
055: }
056: }
057: }
058:
059: // 測試060:
:061: static void Main(3)
: 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.is
a
well
done
program. C#進階(十)的內容,更多相關內容請關注PHP中文網(www.php.cn)!