C#中要使一个类支持FOREACH遍历,实现过程怎样?
【正确答案】public class DaysOfTheWeek : System.Collections.Ienumerable
{ string[] m_Days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };
public System.Collections.IEnumerator GetEnumerator() {
for (int i = 0; i < m_Days.Length; i++) {
yield return m_Days[i];
}
}
}
class TestDaysOfTheWeek{
static void Main() {
// Create an instance of the collection class
DaysOfTheWeek week = new DaysOfTheWeek();
// Iterate with foreach
foreach (string day in week) {
System.Console.Write(day + " ");
}
}}
【答案解析】