扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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: file://引用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. |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。