我不知道任何關於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. 什麼是「枚舉」?
- 3. 在Ruby中使用to_enum創建可枚舉對象的優點是什麼?
- 4. 在javascript中枚舉對象時的關鍵順序是什麼?
- 5. 可枚舉對象MVC4
- 6. 什麼是枚舉類型的操作?
- 7. 什麼是枚舉器在一個對象中?
- 8. 枚舉對象
- 9. 從.Net中枚舉可用的SQL Server
- 10. .NET對象從集合/枚舉
- 11. 與枚舉.NET類型ASMX POST對象
- 12. 枚舉javascript中的對象
- 13. 枚舉值是什麼?
- 14. 什麼是Java枚舉?
- 15. 枚舉是什麼意思?
- 16. 什麼枚舉
- 17. 雨燕「枚舉」基礎對象
- 18. 基於枚舉構造對象
- 19. 爲什麼Apple使用NSString對象作爲參數而不是枚舉?
- 20. 什麼是HTML中的枚舉屬性?
- 21. 什麼是c中枚舉的int值?
- 22. Object.create中的枚舉參數是什麼?
- 23. 枚舉中的值是什麼?
- 24. 什麼是TypeScript中的枚舉標誌?
- 25. Python中枚舉的意思是什麼?
- 26. 什麼是System.Windows.Forms.Keys枚舉中的「OEM」鍵?
- 27. 使用枚舉作爲對象ID
- 28. 什麼是枚舉器對象? (創建與字符串#GSUB)
- 29. 作爲枚舉或對象的.NET實體屬性
- 30. 是否可以在Java枚舉中使用上範圍對象?
您是否嘗試過閱讀文檔? MSDN?谷歌?如果沒有這些幫助,請具體說明您不明白的內容。 – shahkalpesh 2010-06-14 06:47:38