閱讀英文版本

分享方式:


ParallelMergeOptions 列舉

定義

指定要在查詢中使用的慣用 輸出合併 類型。 換句話說,它會指出 PLINQ 應如何將不同資料分割的結果合併回單一結果序列。 這只是提示,而不代表系統會在平行處理所有查詢時採取這種類型。

C#
public enum ParallelMergeOptions
繼承
ParallelMergeOptions

欄位

名稱 Description
AutoBuffered 2

在配合系統選擇的輸出緩衝區大小情況下,使用合併。 結果將累積到輸出緩衝區內,直到查詢消費者可使用這些結果為止。

Default 0

使用預設的合併型別,也就是 AutoBuffered。

FullyBuffered 3

在配合完整輸出緩衝區情況下,使用合併。 系統會先累積所有的結果,直到出現可供查詢消費者使用的結果為止。

NotBuffered 1

在不配合輸出緩衝區情況下,使用合併。 只要一算出結果項目,即可向查詢消費者提供該項目。

備註

針對將取用和輸出為數據流的查詢使用 NotBuffered ,這會在開始查詢執行和產生元素之間具有最低的延遲。 對於某些查詢,例如涉及排序 (OrderBy、OrderByDescending) 、緩衝是不可或缺的,而且將會忽略 NotBuffered 或 AutoBuffered 的提示。 不過,只要查詢本身內不會執行進一步排序,就可以串流使用 AsOrdered 運算符所建立的查詢。

AutoBuffered在大部分情況下使用 ,這是預設值。 它會在延遲與整體效能之間達到平衡。

在需要資訊之前處理整個輸出時,請使用 FullyBuffered 查詢。 此選項可在產生任何資訊之前累積所有輸出時提供最佳效能,不過它不適合串流處理或顯示部分結果中間查詢。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

另請參閱