zoukankan      html  css  js  c++  java
  • C# 2.0学习之集合2

    编译与执行:
    csc tokens2.cs tokens2

    tokens2.cs :

    //Copyright (C) Microsoft Corporation.  All rights reserved.

    // tokens2.cs
    using System;
    using System.Collections;

    public class Tokens: IEnumerable
    {
       private string[] elements;

       Tokens(string source, char[] delimiters)
       {
          elements = source.Split(delimiters);
       }

       // IEnumerable Interface Implementation:

       public TokenEnumerator GetEnumerator() // non-IEnumerable version
       {
          return new TokenEnumerator(this);
       }

       IEnumerator IEnumerable.GetEnumerator() // IEnumerable version
       {
          return (IEnumerator) new TokenEnumerator(this);
       }

       // Inner class implements IEnumerator interface:

       public class TokenEnumerator: IEnumerator
       {
          private int position = -1;
          private Tokens t;

          public TokenEnumerator(Tokens t)
          {
             this.t = t;
          }

          public bool MoveNext()
          {
             if (position < t.elements.Length - 1)
             {
                position++;
                return true;
             }
             else
             {
                return false;
             }
          }

          public void Reset()
          {
             position = -1;
          }

          public string Current // non-IEnumerator version: type-safe
          {
             get
             {
                return t.elements[position];
             }
          }

          object IEnumerator.Current // IEnumerator version: returns object
          {
             get
             {
                return t.elements[position];
             }
          }
       }

       // Test Tokens, TokenEnumerator

       static void Main()
       {
          Tokens f = new Tokens("This is a well-done program.",
             new char [] {' ','-'});
          foreach (string item in f) // try changing string to int
          {
             Console.WriteLine(item);
          }
       }
    }

  • 相关阅读:
    minikube国内在线部署体验
    分表与分库使用场景以及设计方式
    epool与select有什么区别
    使用ssh-keygen生成私钥和公钥
    mysql关键字冲突
    MySQL 获取当前时间戳
    平时常说的ThreadLocal,今天就彻底解决它
    mysql和mssql最大连接数
    Spring Boot实战:拦截器与过滤器
    Mysql 索引问题-日期索引使用
  • 原文地址:https://www.cnblogs.com/llbofchina/p/434162.html
Copyright © 2011-2022 走看看