我不知道任何關於Ienumerable對象.net中的Ienumarble接口的作用是什麼?請告訴我它是否在建? .net中的每個類都自動實現了Ienumarable接口?爲什麼需要實現萬能接口?它包含什麼方法&他們扮演什麼角色。請詳細解釋。.net中可枚舉對象的基本作用是什麼?
回答
簡而言之,IEnumerable公開了一個枚舉器,該枚舉器允許簡單迭代非通用集合。
它基本上允許foreach循環一個集合,即:
foreach (Control control in this.Controls)
{
// Do something
}
你需要在你自己的類中使用IEnumable的唯一方法是GetEnumerator()
返回IEnumerator
。
的IEnumerator的返回必須實現以下方法的類:
void Reset();
object Current();
bool MoveNext();
一個IEnumerator類的一個基本的例子,從here採取:
private class ClassEnumerator : IEnumerator
{
private ClassList _classList;
private int _index;
public ClassEnumerator(ClassList classList)
{
_classList = classList;
_index = -1;
}
#region IEnumerator Members
public void Reset()
{
_index = -1;
}
public object Current
{
get
{
return _classList._students[_index];
}
}
public bool MoveNext()
{
_index++;
if (_index >= _classList._students.Count)
return false;
else
return true;
}
#endregion
}
**通過非泛型**集合。 – 2010-06-14 06:47:59
@Lukas - woops。 – GenericTypeTea 2010-06-14 06:50:04
@LukasŠalkauskas,請詳細說明,因爲MSDN文檔只是陳述「收集」 - 而不是「非通用收集」。 – Fenton 2010-06-14 06:51:45
- 1. 爲什麼枚舉包括可枚舉
- 2. 在Ruby中使用to_enum創建可枚舉對象的優點是什麼?
- 3. 在javascript中枚舉對象時的關鍵順序是什麼?
- 4. 什麼是枚舉器在一個對象中?
- 5. 從.Net中枚舉可用的SQL Server
- 6. 枚舉javascript中的對象
- 7. 基於枚舉構造對象
- 8. 雨燕「枚舉」基礎對象
- 9. 什麼枚舉
- 10. 使用枚舉作爲對象ID
- 11. Object.create中的枚舉參數是什麼?
- 12. 什麼是TypeScript中的枚舉標誌?
- 13. Python中枚舉的意思是什麼?
- 14. 什麼是HTML中的枚舉屬性?
- 15. 什麼是System.Windows.Forms.Keys枚舉中的「OEM」鍵?
- 16. 什麼是枚舉器對象? (創建與字符串#GSUB)
- 17. 是否可以在Java枚舉中使用上範圍對象?
- 18. Javascript對象枚舉
- 19. 作爲枚舉或對象的.NET實體屬性
- 20. 枚舉使用空對象
- 21. 跳過()和Take()作爲可枚舉對象作爲可查詢
- 22. 爲什麼JPA枚舉不起作用?
- 23. 如何枚舉.Net中的Windows系統托盤中的對象?
- 24. 獲取枚舉或返回枚舉數的區別是什麼?
- 25. 基本枚舉的本地實例或傳遞枚舉集合?
- 26. 是否有一個C#枚舉的基礎對象?
- 27. MvvmCross:枚舉MvxRequestedByType的目的是什麼?
- 28. 枚舉的目的是什麼?
- 29. 混淆枚舉...如何更改枚舉過程中的對象?
- 30. 將可枚舉對象的內容移動到對象數組的最佳方式是什麼?見下面
您是否嘗試過閱讀文檔? MSDN?谷歌?如果沒有這些幫助,請具體說明您不明白的內容。 – shahkalpesh 2010-06-14 06:47:38