C 學習筆記(二十四)迭代器

2021-09-25 04:38:48 字數 1171 閱讀 4434

迭代器

迭代器是自動生成可列舉型別和列舉數的結構。

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...