迭代器
迭代器是自動生成可列舉型別和列舉數的結構。
1.迭代器塊
迭代器塊是有乙個或多個yield語句的**塊。
方法主體、訪問器主體、運算子主體都可以是迭代器塊。
迭代器塊不需要同一時間內執行一串行的命令式語句,而是描述編譯器建立列舉數類的行為。
yield return 語句執行了序列中返回的下一項。
yield break 語句指定在序列中沒有更多項。
2.使用迭代器建立列舉數
class getnumber
}class program
console.readkey();
}
}
3.使用迭代器建立可列舉型別
class getnumber
public ienumeratorgetenumerator()
}class program
//使用可列舉類返回的迭代器方法。
foreach (int number in getnumber.ienumerator())
console.readkey();
}
}
4.使用迭代器建立多個列舉數
class getnumber
public ienumeratorgetenumerator()
public ienumeratorforward()
public ienumeratorreverse()
}class program
getnumber.isforward = false;
foreach (int number in getnumber)
console.readkey();
}
}
5.使用迭代器建立多個可列舉型別
class getnumber
public ienumerablereverse()
}class program
foreach (int number in getnumber.reverse())
console.readkey();
}
}
CUDA學習(二十四)
共享記憶體的影響 共享記憶體在多 種情況下可能會有所幫助,例如幫助合併或消除對全域性記憶體的冗餘訪問。但是,它也可以作為占用限制。在許多情況下,核心所需的共享記憶體量與所選塊的大小有關,但執行緒與共享記憶體元素的對映不需要是一對一的。例如,可能需要在核心中使用32x32元素共享記憶體陣列,但由於每塊...
C 學習筆記二十四 運算子
條件運算子 常被用來代替if else語句,它是c 唯一乙個需要3個運算元的運算子。該運算子的通用格式如下 expression1 expression2 expression3如果expression1為true,則整個表示式的值為expression2的值 否則,整個表示式的值為expressi...
C 回顧學習筆記二十四 命名空間
從我們開啟vs軟體,開啟控制台程式並開始寫 時,命名空間就開始在發揮作用了。在 的最上方可以看到很多using語句,那就是引用了命名空間。引用命名空間的格式是 using 命名空間名字 這樣就可以在程式中直接用命名空間的型別,而不必指定型別的詳細命名空間。using system 通常都會出現在.c...