SUNWEN教程之----C#進階(十)

來源:互聯網
上載者:User
現在我想說的是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.

以上就是SUNWEN教程之----C#進階(十)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.