方法:一、继承既有的接口 如: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); } }