首页 > 代码库 > C#实现foreach

C#实现foreach

方法:一、继承既有的接口 如:CollectionBase、DictionaryBase

class TestForeach: CollectionBase    {        public void Add(string val)        {            List.Add(val);        }        public void remove(string val)        {            List.Remove(val);        }    }}//调用TestForeach的测试代码如下:public void test(){            TestForeach cols = new TestForeach();            cols.Add("Name");            cols.Add("Sex");            foreach (string col in cols)            {                MessageBox.Show("hello!" + col);            }}

   二、通过yield return

        public IEnumerable Power(int number, int exponent)         {             int counter = 0;            int result = 1;             while (counter++ < exponent)             {                 result = result * number;                yield return result;            }         }         private void testYield()         {                // Display powers of 2 up to the exponent 8:                     foreach (int i in Power(2, 8))             {                             //Console.Write("{0} ", i);                 MessageBox.Show("hello!" + i);             }             }

 

C#实现foreach