加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#使用foreach语句遍历集合类型的方法

发布时间:2020-12-15 06:00:36 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#使用foreach语句遍历集合类型的方法。供大家参考研究。具体如下: 这里演示如何实现可与 foreach 语句一起使用的集合类 using System;using System.Collections;public class Tokens: IEnumerable{ private string[] elements; Tokens

本篇章节讲解C#使用foreach语句遍历集合类型的方法。分享给大家供大家参考。具体如下:

这里演示如何实现可与 foreach 语句一起使用的集合类

using System;
using System.Collections;
public class Tokens: IEnumerable
{
  private string[] elements;
  Tokens(string source,char[] delimiters)
  {
   elements = source.Split(delimiters);
  }
  // IEnumerable 接口实现:
  public TokenEnumerator GetEnumerator() // 非 IEnumerable 版本
  {
   return new TokenEnumerator(this);
  }
  IEnumerator IEnumerable.GetEnumerator() // IEnumerable 版本
  {
   return (IEnumerator) new TokenEnumerator(this);
  }
  // 内部类实现 IEnumerator 接口:
  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 // 非 IEnumerator 版本:类型安全
   {
     get
     {
      return t.elements[position];
     }
   }
   object IEnumerator.Current // IEnumerator 版本:返回对象
   {
     get
     {
      return t.elements[position];
     }
   }
  }
  // 测试标记 TokenEnumerator
  static void Main()
  {
   Tokens f = new Tokens("This is a well-done program.",new char [] {' ','-'});
   foreach (string item in f) // 要将 string 更改为 int
   {
     Console.WriteLine(item);
   }
  }
}

希望本文所述对大家的C#程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读