C# foreach语句遍历集合类型演示范例的代码

下面资料是关于C# foreach语句遍历集合类型演示范例的内容,希望能对各位朋友有些用处。

using System;
using System.Collections;

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

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

   {
      return new TokenEnumerator(this);
   }

   {
      return (IEnumerator) new TokenEnumerator(this);
   }

   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;
      }

      {
         get
         {
            return t.elements[position];
         }
      }

      {
         get
         {
            return t.elements[position];
         }
      }
   }

   static void Main()
   {
      Tokens f = new Tokens("This is a well-done program.",
         new char [] {‘ ‘,‘-‘});
      {
         Console.WriteLine(item);
      }
   }
}

原文地址:https://blog.51cto.com/14314834/2388691

时间: 2024-10-09 14:29:28

C# foreach语句遍历集合类型演示范例的代码的相关文章

C#通过foreach语句遍历arraylist源码演示

如下的代码是关于C#通过foreach语句遍历arraylist演示的代码. using System; using System.Collections; namespace Client.Chapter_4___Program_Control { public class ForEaches { static void Main(string[] args) { ArrayList a = new ArrayList(10); foreach (int x in a) { Console.W

C#使用foreach语句遍历数组的代码

下面的内容内容是关于C#使用foreach语句遍历数组的内容,希望对大家有所好处. using System; public class w3demo { public static void Main() { int sum = 0; int[] nums = new int[10]; for(int i = 0; i < 10; i++) nums[i] = i; foreach(int x in nums) { Console.WriteLine("Value is: "

为什么数组没有实现Iterable接口,但可以使用foreach语句遍历

在Java中,对于数组为什么能够使用foreach语句一直感觉很困惑. 对于能够使用foreach语句进行遍历的对象,只有两种情况,其中一种是遍历对象必须实现Iterable接口,实现ierator()方法,这是对象使用foreach语句的前提.另外一种情况就是特殊对象数组.那么对于数组可以使用foreach该如何去理解呢? 首先需要说明的是,实现了java.lang.Iterable接口的对象可以用for-each去遍历,但是能用for-each去遍历的不一定实现了该接口,比如数组这个特殊对象

foreach语句揭秘

1概述 本文通过手动实现迭代器来了解foreach语句的本质. 2 使用foreach语句遍历集合 在C#中,使用foreach语句来遍历集合.foreach语句是微软提供的语法糖,使用它可以简化C#内置迭代器的使用复杂性.编译foreach语句,会生成调用GetEnumerator和MoveNext方法以及Current属性的代码,这些方法和属性恰是C#内置迭代器所提供的.下面将通过实例来说明这一切. 例1 使用foreach来遍历集合 //**************************

C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)

1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在ArrayList中主要使用Add.Remove.RemoveAt.Insert四个方法对栈进行操作.Add方法用于将对象添加到 ArrayList 的结尾处:Remove方法用于从 ArrayList 中移除特定对象的第一个匹配项:RemoveAt方法用于移除 ArrayList 的指定索引处的元素:Insert方法用于将元素插入 ArrayList 的指定索引处. 示例 ArrayList的使用 示例将介

2017-9-17C#笔记(方法,方法参数 ,foreach语句)

方法: 方法作为类中最常见的最有用的一个成员,算是完成特定任务,实现特定任务的重要的编程模式. "更少的代码,更多的复用" (有些教程中,将方法称为函数,函数和方法没有本质的区别,但是通常自己写的俄实现特定的功能的代码块,叫做方法;有系统简介或者直接生成的不完整的代码块叫做函数.) 方法定义的一般形式: Static      返回类型         方法名(形式参数列表) { 声明部分 执行部分 } 事例1:编写方法判断一个数是否是完全数:完全数的定义如下:它所有的真因子(即除了自

Swift中的集合类型

一.引子: 在2014年10月TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人员的追捧,其热衷程度并不亚于当红巨星Taylor Swift.相信在不远的将来,swift能够平稳发展,并逐步取代Objective-C. 二.swift的集合类型 下面回归主题.作为一名iOS开发者,我们已经非常熟悉诸如NSArray,NSDictionary,NSSet等常见集合类型,以及它们的可变同类NSMutableArray,NSM

自己写一个泛型集合类型,可实现添加和遍历

在"C#中List<T>是怎么存放元素的"中,分析了List<T>的源码,了解了List<T>是如何存放元素的.这次,就自定义一个泛型集合类型,可实现添加元素,并支持遍历. 该泛型集合类型一定需要一个添加元素的方法,在添加元素的时候需要考虑:当添加的元素超过当前数组的容量,就让数组扩容:为了支持循环遍历,该泛型集合类型必须提供一个迭代器(实现IEnumerator接口). public class MyList<T> { T[] item

C# 通过IEnumberable接口和IEnumerator接口实现自定义集合类型foreach功能

1.IEnumerator和IEnumerable的作用 其实IEnumerator和IEnumerable的作用很简单,就是让除数组和集合之外的类型也能支持foreach循环,至于foreach循环,如果不清楚,请参考C# foreach循环较for循环的优势与劣势 代码如下: static void Main(string[] args) { CatList cats = new CatList(); foreach (var cat in cats) { Console.WriteLine