0
在研究有關IEnumerator
和IEnumerator<T>
,我就翻過了如下聲明: -爲什麼數組返回經典枚舉?
如果我們在任何收集調用的GetEnumerator(),我們主要得到了類型安全的版本,即「普通」版本,值得注意的例外這種情況是返回經典(非通用)版本的數組。
我的問題是: -
爲什麼陣列時調用GetEnumerator()
函數返回「經典」枚舉,但像List<T>
等其他數據結構返回通用枚舉?
string[] tempString = "Hello World!" ;
var classicEnumerator = tempString.GetEnumerator() ; // non-generic version of enumerator.
List<string> tempList = new List<string>() ;
tempList.Add("Hello") ;
tempList.Add(" World") ;
var genericEnumerator = tempList.GetEnumerator() ; // generic version of enumerator.
這是記錄在「重要」:http://msdn.microsoft.com/en-us/library/system.array.aspx –