自己对于IEnumerable接口的理解

IEnumerable在开发中的使用主要体现在foreach,只是我们从不去深究它。

使用foreach时,如果我们遍历的对象没有对GetEnumerator()的定义,则foreach报错。


例如如下的类,实现了GetEnumerator()后,我们可以自定义自己的逻辑来实现数据的遍历。

class BuddyClass:IEnumerable
        {
            private string[] str = new string[] { "Jesse", "Jesse2", "Jesse3", "Jesse4", "Jess5" };
            public IEnumerator GetEnumerator()
            {
                foreach (var item in str)
                {
                    yield return item;
                }
            }
        }



BuddyClass by = new BuddyClass();
            foreach (var item in by)
            {
                str.Append(item);
            }

你可能感兴趣的:(自己对于IEnumerable接口的理解)