IEnumerable interface

In this chapter you will learn:

  1. Implement IEnumerable with 'yield'
  2. Implement IEnumerable with loop

Implement IEnumerable interface

using System;/*  j ava 2  s  .  c  om*/
using System.Collections.Generic;
using System.Text;

class MyClass : IEnumerable<string>
{
   IEnumerator<string> Letter
   {
      get
      {
         yield return "A";
         yield return "B";
         yield return "C";
      }
   }

   public IEnumerator<string> GetEnumerator()
   {
      return Letter;
   }

   System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
   {
      return Letter;
   }
}

class MainClass
{
   static void Main()
   {
      MyClass mc1 = new MyClass();
      foreach (string s in mc1)
         Console.Write("{0} ", s);
   }
}

The code above generates the following result.

Implement IEnumerable with loop

using System;/*j  av a  2s  .co m*/
using System.Collections.Generic;
using System.Text;

class MyClass : IEnumerable<string>
{
   IEnumerator<string> Letter
   {
      get
      {
         string[] s = { "A", "B", "C" };
         for (int i = 0; i < s.Length; i++)
            yield return s[i];
      }
   }

   public IEnumerator<string> GetEnumerator()
   {
      return Letter;
   }

   System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
   {
      return Letter;
   }
}

class MainClass
{
   static void Main()
   {
      MyClass mc1 = new MyClass();
      foreach (string s in mc1)
         Console.Write("{0} ", s);
   }
}

The code above generates the following result.

Next chapter...

What you will learn in the next chapter:

  1. How to implement IEquatable interface
Home » C# Tutorial » System Interface
ICloneable interface
IComparable interface
IComparer interface
IConvertible interface
IDisposable interface
IEnumerable interface
IEquatable interface
IFormatProvider interface
IFormattable interface