摘要:
1)为什么数组可以foreach遍历?因为数组可以按需提供一个叫做枚举数(enumerator)的对象。该对象实现了IEnumerator接口。提高一个层次说,所有被foreach遍历的对象实现了IEnumerable接口,在遍历时调用了该对象的GetEnumerator()反响。返回的是实现了 IEnumerator接口的对象。枚举的三种形式:IEnumerable/IEnumerator形式、IEnumerable<T>/IEnumerator<T>泛型形式,不使用接口也就是说,所有的数组默认实现了IEnemerator接口,包含三个方法 public object 阅读全文