本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

Stack<T> 類別

 

表示相同特定類型之執行個體的各種大小後進先出 (LIFO) 集合。

命名空間:   System.Collections.Generic
組件:  System (於 System.dll)

System.Object
  System.Collections.Generic.Stack<T>

[SerializableAttribute]
[ComVisibleAttribute(false)]
public class Stack<T> : IEnumerable<T>, IEnumerable, ICollection, 
	IReadOnlyCollection<T>

類型參數

T

指定堆疊中項目的類型。

名稱描述
System_CAPS_pubmethodStack<T>()

初始化 Stack<T> 類別的新執行個體,這個執行個體為空白且具有預設的初始容量。

System_CAPS_pubmethodStack<T>(IEnumerable<T>)

初始化 Stack<T> 類別的新執行個體,其包含從指定之集合複製的項目,且具有容納複製之項目數目的足夠容量。

System_CAPS_pubmethodStack<T>(Int32)

初始化的新執行個體 Stack<T> 類別會是空的且具有指定的初始容量或預設的初始容量、 何者較大。

名稱描述
System_CAPS_pubpropertyCount

取得 Stack<T> 中所包含的項目數。

名稱描述
System_CAPS_pubmethodClear()

Stack<T> 移除所有物件。

System_CAPS_pubmethodContains(T)

判斷某項目是否在 Stack<T> 中。

System_CAPS_pubmethodCopyTo(T[], Int32)

複製 Stack<T> 至現有一維 Array, 、 指定的陣列索引處開始。

System_CAPS_pubmethodEquals(Object)

判斷指定的物件是否等於目前的物件。(繼承自 Object。)

System_CAPS_protmethodFinalize()

在記憶體回收開始前,允許物件嘗試釋放資源,並執行其他清除作業。(繼承自 Object。)

System_CAPS_pubmethodGetEnumerator()

傳回列舉值 Stack<T>

System_CAPS_pubmethodGetHashCode()

做為預設雜湊函式。(繼承自 Object。)

System_CAPS_pubmethodGetType()

取得目前執行個體的 Type(繼承自 Object。)

System_CAPS_protmethodMemberwiseClone()

建立目前 Object 的淺層複製。(繼承自 Object。)

System_CAPS_pubmethodPeek()

傳回的物件上方的 Stack<T> 而不移除它。

System_CAPS_pubmethodPop()

移除並傳回頂端的物件 Stack<T>

System_CAPS_pubmethodPush(T)

將物件插入 Stack<T> 的頂端。

System_CAPS_pubmethodToArray()

複製 Stack<T> 到新的陣列。

System_CAPS_pubmethodToString()

傳回代表目前物件的字串。(繼承自 Object。)

System_CAPS_pubmethodTrimExcess()

如果該數目小於目前容量的 90%,則將容量設為 Stack<T> 中項目的實際數目。

名稱描述
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable<T>.GetEnumerator()

傳回逐一查看集合的列舉值。

System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

從特定的 ICollection 索引開始,將 Array 的項目複製至 Array

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

傳回逐一查看集合的列舉值。

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

取得值,這個值表示對 ICollection 的存取是否同步 (安全執行緒)。

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

取得可用以同步存取 ICollection 的物件。

名稱描述
System_CAPS_pubmethodAggregate<T>(Func<T, T, T>)

多載。將累加函式套用到序列。(由 Enumerable 定義。)

System_CAPS_pubmethodAggregate<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>)

多載。將累加函式套用到序列。 使用指定的初始值做為初始累加值。(由 Enumerable 定義。)

System_CAPS_pubmethodAggregate<T, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, T, TAccumulate>, Func<TAccumulate, TResult>)

多載。將累加函式套用到序列。 使用指定的值做為初始累加值,並使用指定的函式來選取結果值。(由 Enumerable 定義。)

System_CAPS_pubmethodAll<T>(Func<T, Boolean>)

判斷序列中的所有項目是否全都符合條件。(由 Enumerable 定義。)

System_CAPS_pubmethodAny<T>()

多載。判斷序列是否包含任何項目。(由 Enumerable 定義。)

System_CAPS_pubmethodAny<T>(Func<T, Boolean>)

多載。判斷序列中的任何項目是否符合條件。(由 Enumerable 定義。)

System_CAPS_pubmethodAsEnumerable<T>()

傳回輸入型別為 IEnumerable<T>(由 Enumerable 定義。)

System_CAPS_pubmethodAsParallel()

多載。啟用查詢的平行化作業。(由 ParallelEnumerable 定義。)

System_CAPS_pubmethodAsParallel<T>()

多載。啟用查詢的平行化作業。(由 ParallelEnumerable 定義。)

System_CAPS_pubmethodAsQueryable()

多載。將轉換 IEnumerableIQueryable(由 Queryable 定義。)

System_CAPS_pubmethodAsQueryable<T>()

多載。將轉換為泛型 IEnumerable<T> 至泛型 IQueryable<T>(由 Queryable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Decimal>)

多載。計算序列的平均值 Decimal 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Double>)

多載。計算序列的平均值 Double 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Int32>)

多載。計算序列的平均值 Int32 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Int64>)

多載。計算序列的平均值 Int64 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Decimal>>)

多載。計算可為 null 的序列的平均值 Decimal 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Double>>)

多載。計算可為 null 的序列的平均值 Double 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Int32>>)

多載。計算可為 null 的序列的平均值 Int32 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Int64>>)

多載。計算可為 null 的序列的平均值 Int64 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Single>>)

多載。計算可為 null 的序列的平均值 Single 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodAverage<T>(Func<T, Single>)

多載。計算序列的平均值 Single 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodCast<TResult>()

將轉換的項目 IEnumerable 指定的型別。(由 Enumerable 定義。)

System_CAPS_pubmethodConcat<T>(IEnumerable<T>)

串連兩個序列。(由 Enumerable 定義。)

System_CAPS_pubmethodContains<T>(T)

多載。判斷序列是否包含指定的項目,使用預設相等比較子。(由 Enumerable 定義。)

System_CAPS_pubmethodContains<T>(T, IEqualityComparer<T>)

多載。判斷序列是否包含指定的項目,使用指定的 IEqualityComparer<T>(由 Enumerable 定義。)

System_CAPS_pubmethodCount<T>()

多載。傳回序列中的項目數目。(由 Enumerable 定義。)

System_CAPS_pubmethodCount<T>(Func<T, Boolean>)

多載。傳回表示指定之序列中的項目數目符合條件的數字。(由 Enumerable 定義。)

System_CAPS_pubmethodDefaultIfEmpty<T>()

多載。傳回單一集合中指定的序列或型別參數的預設值的項目,如果序列是空的。(由 Enumerable 定義。)

System_CAPS_pubmethodDefaultIfEmpty<T>(T)

多載。傳回單一集合中指定的序列或指定的值的項目,如果序列是空的。(由 Enumerable 定義。)

System_CAPS_pubmethodDistinct<T>()

多載。使用預設相等比較子來比較值,從序列傳回不同的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodDistinct<T>(IEqualityComparer<T>)

多載。從序列傳回不同的項目,使用指定的 IEqualityComparer<T> 來比較值。(由 Enumerable 定義。)

System_CAPS_pubmethodElementAt<T>(Int32)

傳回序列中的指定索引處的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodElementAtOrDefault<T>(Int32)

傳回位於序列中指定索引處的元素;如果索引超出範圍,則傳回預設值。(由 Enumerable 定義。)

System_CAPS_pubmethodExcept<T>(IEnumerable<T>)

多載。使用預設相等比較子來比較值,會產生兩個序列的差異。(由 Enumerable 定義。)

System_CAPS_pubmethodExcept<T>(IEnumerable<T>, IEqualityComparer<T>)

多載。使用指定的產生兩個序列的差異 IEqualityComparer<T> 來比較值。(由 Enumerable 定義。)

System_CAPS_pubmethodFirst<T>()

多載。傳回序列的第一個項目。(由 Enumerable 定義。)

System_CAPS_pubmethodFirst<T>(Func<T, Boolean>)

多載。傳回序列中符合指定條件的第一個元素。(由 Enumerable 定義。)

System_CAPS_pubmethodFirstOrDefault<T>()

多載。傳回序列的第一個元素;如果序列中沒有包含任何元素,則傳回預設值。(由 Enumerable 定義。)

System_CAPS_pubmethodFirstOrDefault<T>(Func<T, Boolean>)

多載。傳回序列中符合條件的第一個元素;如果找不到這類元素,則傳回預設值。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey>(Func<T, TKey>)

多載。群組依據指定的索引鍵選取器函式序列的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

多載。群組的順序,根據指定的索引鍵選取器函式和比較使用指定的比較子索引鍵的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

多載。群組依據指定的索引鍵選取器函式並使用指定的函式的每個群組的項目序列的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

多載。群組依據索引鍵選取器函式序列的項目。 索引鍵是使用比較子來進行比較,而每個群組的項目都是利用指定的函式進行投影。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>)

多載。依據指定的索引鍵選取器函式來群組序列的項目,並從每個群組及其索引鍵建立結果值。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>, IEqualityComparer<TKey>)

多載。依據指定的索引鍵選取器函式來群組序列的項目,並從每個群組及其索引鍵建立結果值。 索引鍵是使用指定的比較子來進行比較。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)

多載。依據指定的索引鍵選取器函式來群組序列的項目,並從每個群組及其索引鍵建立結果值。 每個群組的項目都是利用指定的函式進行投影。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

多載。依據指定的索引鍵選取器函式來群組序列的項目,並從每個群組及其索引鍵建立結果值。 索引鍵值是使用指定的比較子來進行比較,而每個群組的項目則都是利用指定的函式進行投影。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>)

多載。根據索引鍵相等的兩個序列的項目相互關聯,並將結果分組。 預設的相等比較子是用於比較索引鍵。(由 Enumerable 定義。)

System_CAPS_pubmethodGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

多載。根據索引鍵相等的兩個序列的項目相互關聯,並將結果分組。 指定 IEqualityComparer<T> 用於比較索引鍵。(由 Enumerable 定義。)

System_CAPS_pubmethodIntersect<T>(IEnumerable<T>)

多載。使用預設相等比較子來比較值,以產生兩個序列的集合交集。(由 Enumerable 定義。)

System_CAPS_pubmethodIntersect<T>(IEnumerable<T>, IEqualityComparer<T>)

多載。使用指定的產生兩個序列的集合交集IEqualityComparer<T>比較的值。(由 Enumerable 定義。)

System_CAPS_pubmethodJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>)

多載。根據相符索引鍵的兩個序列的項目相互關聯。 預設的相等比較子是用於比較索引鍵。(由 Enumerable 定義。)

System_CAPS_pubmethodJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>, IEqualityComparer<TKey>)

多載。根據相符索引鍵的兩個序列的項目相互關聯。 指定 IEqualityComparer<T> 用於比較索引鍵。(由 Enumerable 定義。)

System_CAPS_pubmethodLast<T>()

多載。傳回序列的最後一個項目。(由 Enumerable 定義。)

System_CAPS_pubmethodLast<T>(Func<T, Boolean>)

多載。傳回序列中符合指定之條件的最後一個元素。(由 Enumerable 定義。)

System_CAPS_pubmethodLastOrDefault<T>()

多載。傳回序列的最後一個元素;如果序列中沒有包含任何元素,則傳回預設值。(由 Enumerable 定義。)

System_CAPS_pubmethodLastOrDefault<T>(Func<T, Boolean>)

多載。傳回序列中符合條件的最後一個元素;如果找不到這類元素,則傳回預設值。(由 Enumerable 定義。)

System_CAPS_pubmethodLongCount<T>()

多載。傳回Int64代表序列中的項目總數。(由 Enumerable 定義。)

System_CAPS_pubmethodLongCount<T>(Func<T, Boolean>)

多載。傳回 Int64 ,代表符合條件的序列中的項目數目。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>()

多載。傳回泛型序列中的最大值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Decimal>)

多載。叫用轉換函式上序列的每個項目,並傳回最大 Decimal 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Double>)

多載。叫用轉換函式上序列的每個項目,並傳回最大 Double 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Int32>)

多載。叫用轉換函式上序列的每個項目,並傳回最大 Int32 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Int64>)

多載。叫用轉換函式上序列的每個項目,並傳回最大 Int64 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Decimal>>)

多載。叫用轉換函式上序列的每個項目,並傳回最大值為 null Decimal 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Double>>)

多載。叫用轉換函式上序列的每個項目,並傳回最大值為 null Double 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Int32>>)

多載。叫用轉換函式上序列的每個項目,並傳回最大值為 null Int32 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Int64>>)

多載。叫用轉換函式上序列的每個項目,並傳回最大值為 null Int64 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Single>>)

多載。叫用轉換函式上序列的每個項目,並傳回最大值為 null Single 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T>(Func<T, Single>)

多載。叫用轉換函式上序列的每個項目,並傳回最大 Single 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMax<T, TResult>(Func<T, TResult>)

多載。叫用轉換函式的泛型序列的每個項目並傳回產生的最大值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>()

多載。傳回泛型序列中的最小值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Decimal>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值 Decimal 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Double>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值 Double 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Int32>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值 Int32 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Int64>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值 Int64 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Decimal>>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值為 null Decimal 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Double>>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值為 null Double 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Int32>>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值為 null Int32 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Int64>>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值為 null Int64 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Single>>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值為 null Single 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T>(Func<T, Single>)

多載。叫用轉換函式上序列的每個項目,並傳回最小值 Single 值。(由 Enumerable 定義。)

System_CAPS_pubmethodMin<T, TResult>(Func<T, TResult>)

多載。叫用轉換函式的泛型序列的每個項目並傳回產生的最小值。(由 Enumerable 定義。)

System_CAPS_pubmethodOfType<TResult>()

篩選的項目 IEnumerable 根據指定的型別。(由 Enumerable 定義。)

System_CAPS_pubmethodOrderBy<T, TKey>(Func<T, TKey>)

多載。排序序列中遞增順序依據索引鍵的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodOrderBy<T, TKey>(Func<T, TKey>, IComparer<TKey>)

多載。排序序列中使用指定的比較子,依遞增順序排列的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodOrderByDescending<T, TKey>(Func<T, TKey>)

多載。排序序列中遞減的順序,根據索引鍵的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodOrderByDescending<T, TKey>(Func<T, TKey>, IComparer<TKey>)

多載。使用指定的比較子,依遞減順序排序序列中的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodReverse<T>()

反轉序列中項目的順序。(由 Enumerable 定義。)

System_CAPS_pubmethodSelect<T, TResult>(Func<T, TResult>)

多載。將序列的每個元素規劃成一個新的表單。(由 Enumerable 定義。)

System_CAPS_pubmethodSelect<T, TResult>(Func<T, Int32, TResult>)

多載。投射成新的表單序列的每個項目所加入的項目索引。(由 Enumerable 定義。)

System_CAPS_pubmethodSelectMany<T, TResult>(Func<T, IEnumerable<TResult>>)

多載。每個序列的項目至 IEnumerable<T> 並壓平合併成單一序列產生的序列。(由 Enumerable 定義。)

System_CAPS_pubmethodSelectMany<T, TResult>(Func<T, Int32, IEnumerable<TResult>>)

多載。每個序列的項目至 IEnumerable<T>, ,並將簡化成單一序列產生的序列。 各來源項目的索引是在該項目的投影表單中使用。(由 Enumerable 定義。)

System_CAPS_pubmethodSelectMany<T, TCollection, TResult>(Func<T, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)

多載。每個序列的項目至 IEnumerable<T>, 壓平合併成單一序列,產生的序列,其中將每個項目中的結果選取器函式會叫用。(由 Enumerable 定義。)

System_CAPS_pubmethodSelectMany<T, TCollection, TResult>(Func<T, Int32, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)

多載。每個序列的項目至 IEnumerable<T>, 壓平合併成單一序列,產生的序列,其中將每個項目中的結果選取器函式會叫用。 各來源項目的索引是在該項目的中繼投影表單中使用。(由 Enumerable 定義。)

System_CAPS_pubmethodSequenceEqual<T>(IEnumerable<T>)

多載。判斷兩個序列是否相等來比較項目之類型使用預設相等比較子。(由 Enumerable 定義。)

System_CAPS_pubmethodSequenceEqual<T>(IEnumerable<T>, IEqualityComparer<T>)

多載。判斷兩個序列是否相等比較其項目,使用指定的 IEqualityComparer<T>(由 Enumerable 定義。)

System_CAPS_pubmethodSingle<T>()

多載。傳回序列的唯一一個元素,如果序列中不是正好一個元素,則擲回例外狀況。(由 Enumerable 定義。)

System_CAPS_pubmethodSingle<T>(Func<T, Boolean>)

多載。傳回序列中符合指定之條件的唯一一個元素,如果有一個以上這類元素,則擲回例外狀況。(由 Enumerable 定義。)

System_CAPS_pubmethodSingleOrDefault<T>()

多載。傳回的唯一項目序列或預設值,如果序列是空的。如果序列中有多個項目,則這個方法會擲回例外狀況。(由 Enumerable 定義。)

System_CAPS_pubmethodSingleOrDefault<T>(Func<T, Boolean>)

多載。傳回序列中符合指定之條件的唯一一個元素,如果沒有這類元素,則為預設值,如果有一個以上的元素符合條件,這個方法就會擲回例外狀況。(由 Enumerable 定義。)

System_CAPS_pubmethodSkip<T>(Int32)

略過指定的數目的序列中的項目,然後傳回其餘項目。(由 Enumerable 定義。)

System_CAPS_pubmethodSkipWhile<T>(Func<T, Boolean>)

多載。只要指定的條件為 true,然後傳回其餘項目,請略過序列中的項目。(由 Enumerable 定義。)

System_CAPS_pubmethodSkipWhile<T>(Func<T, Int32, Boolean>)

多載。只要指定的條件為 true,然後傳回其餘項目,請略過序列中的項目。 項目的索引是用於述詞功能的邏輯中。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Decimal>)

多載。計算序列的總和 Decimal 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Double>)

多載。計算序列的總和 Double 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Int32>)

多載。計算序列的總和 Int32 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Int64>)

多載。計算序列的總和 Int64 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Decimal>>)

多載。可為 null 的序列的總和 Decimal 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Double>>)

多載。可為 null 的序列的總和 Double 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Int32>>)

多載。可為 null 的序列的總和 Int32 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Int64>>)

多載。可為 null 的序列的總和 Int64 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Single>>)

多載。可為 null 的序列的總和 Single 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodSum<T>(Func<T, Single>)

多載。計算序列的總和 Single 叫用轉換函式的輸入序列的每個項目上所取得的值。(由 Enumerable 定義。)

System_CAPS_pubmethodTake<T>(Int32)

從序列開頭傳回指定的連續的項目數。(由 Enumerable 定義。)

System_CAPS_pubmethodTakeWhile<T>(Func<T, Boolean>)

多載。傳回序列中的項目,只要指定的條件為真。(由 Enumerable 定義。)

System_CAPS_pubmethodTakeWhile<T>(Func<T, Int32, Boolean>)

多載。傳回序列中的項目,只要指定的條件為真。 項目的索引是用於述詞功能的邏輯中。(由 Enumerable 定義。)

System_CAPS_pubmethodToArray<T>()

建立陣列,從 IEnumerable<T>(由 Enumerable 定義。)

System_CAPS_pubmethodToDictionary<T, TKey>(Func<T, TKey>)

多載。建立 Dictionary<TKey, TValue>IEnumerable<T> 依據指定的索引鍵選取器函式。(由 Enumerable 定義。)

System_CAPS_pubmethodToDictionary<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

多載。建立 Dictionary<TKey, TValue>IEnumerable<T> 根據指定的索引鍵選取器函式和索引鍵比較子。(由 Enumerable 定義。)

System_CAPS_pubmethodToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

多載。建立 Dictionary<TKey, TValue>IEnumerable<T> 根據指定的索引鍵選取器和項目選取器函式。(由 Enumerable 定義。)

System_CAPS_pubmethodToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

多載。建立 Dictionary<TKey, TValue>IEnumerable<T> 根據指定的索引鍵選取器函式、 比較子和項目選取器函式。(由 Enumerable 定義。)

System_CAPS_pubmethodToList<T>()

建立 List<T>IEnumerable<T>(由 Enumerable 定義。)

System_CAPS_pubmethodToLookup<T, TKey>(Func<T, TKey>)

多載。建立 Lookup<TKey, TElement>IEnumerable<T> 依據指定的索引鍵選取器函式。(由 Enumerable 定義。)

System_CAPS_pubmethodToLookup<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

多載。建立 Lookup<TKey, TElement>IEnumerable<T> 根據指定的索引鍵選取器函式和索引鍵比較子。(由 Enumerable 定義。)

System_CAPS_pubmethodToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

多載。建立 Lookup<TKey, TElement>IEnumerable<T> 根據指定的索引鍵選取器和項目選取器函式。(由 Enumerable 定義。)

System_CAPS_pubmethodToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

多載。建立 Lookup<TKey, TElement>IEnumerable<T> 根據指定的索引鍵選取器函式、 比較子和項目選取器函式。(由 Enumerable 定義。)

System_CAPS_pubmethodUnion<T>(IEnumerable<T>)

多載。使用預設相等比較子,以產生兩個序列的聯集。(由 Enumerable 定義。)

System_CAPS_pubmethodUnion<T>(IEnumerable<T>, IEqualityComparer<T>)

多載。使用指定之產生兩個序列的聯集 IEqualityComparer<T>(由 Enumerable 定義。)

System_CAPS_pubmethodWhere<T>(Func<T, Boolean>)

多載。根據述詞來篩選值序列。(由 Enumerable 定義。)

System_CAPS_pubmethodWhere<T>(Func<T, Int32, Boolean>)

多載。根據述詞來篩選值序列。 述詞函式的邏輯中使用各項目的索引。(由 Enumerable 定義。)

System_CAPS_pubmethodZip<T, TSecond, TResult>(IEnumerable<TSecond>, Func<T, TSecond, TResult>)

套用指定的函式的兩個序列,產生的結果序列的對應元素。(由 Enumerable 定義。)

Stack<T> 會實作為陣列。

堆疊和佇列都是很有用時所需的暫存資訊;也就是當您可能想要捨棄項目之後擷取其值。 使用 Queue<T> 如果您需要存取相同的順序,將它儲存在集合中的資訊。 使用 System.Collections.Generic.Stack<T> 如果您需要以相反順序存取資訊。

使用 System.Collections.Concurrent.ConcurrentStack<T>System.Collections.Concurrent.ConcurrentQueue<T> 型別,當您需要從多個執行緒同時存取集合。

一種常用的 System.Collections.Generic.Stack<T> 是在呼叫其他程序期間保留變數的狀態。

三個主要的作業可對 System.Collections.Generic.Stack<T> 和其項目︰

  • Push 插入的項目上方的 Stack

  • Pop 從頂端移除的項目 Stack<T>

  • Peek 傳回的項目頂端, Stack<T> 但不會移除從 Stack<T>

容量 Stack<T> 是元素數目 Stack<T> 可以保存。 當項目新增至 Stack<T>, ,就會自動增加產能視需要重新配置內部陣列。 藉由呼叫,您可以減少容量 TrimExcess

如果 Count 堆疊中的容量小於 Push 是一種 o (1) 運算。 如果需要增加,以容納新項目中,容量 Push 會變成 O (n) 作業,其中 nCount Pop 是一種 o (1) 運算。

Stack<T> 接受 null 所參考的有效值型別,而且允許重複的項目。

下列程式碼範例示範幾種方法 Stack<T> 泛型類別。 程式碼範例會建立字串堆疊與預設的容量,並使用 Push 推送至堆疊的五個字串的方法。 列舉的堆疊項目,這不會變更堆疊的狀態。 Pop 方法用來顯示堆疊的第一個字串。 Peek 方法用來在堆疊上,請參閱下一個項目,然後 Pop 方法用來將其。

ToArray 方法用來建立陣列,並將堆疊項目複製到它,然後將陣列傳遞至 Stack<T> 建構函式 IEnumerable<T>, ,建立一份堆疊項目的順序相反。 複製的項目會顯示。

兩次的堆疊大小建立陣列,而 CopyTo 方法用來複製開始的陣列的陣列元素。 Stack<T> 堆疊的複本建立的項目反轉順序一次使用建構函式; 因此,三個 null 項目結尾。

Contains 方法用來顯示字串"four"是堆疊中的第一份經過 Clear 方法會清除複本和 Count 堆疊是空的屬性顯示。

using System;
using System.Collections.Generic;

class Example
{
    public static void Main()
    {
        Stack<string> numbers = new Stack<string>();
        numbers.Push("one");
        numbers.Push("two");
        numbers.Push("three");
        numbers.Push("four");
        numbers.Push("five");

        // A stack can be enumerated without disturbing its contents.
        foreach( string number in numbers )
        {
            Console.WriteLine(number);
        }

        Console.WriteLine("\nPopping '{0}'", numbers.Pop());
        Console.WriteLine("Peek at next item to destack: {0}", 
            numbers.Peek());
        Console.WriteLine("Popping '{0}'", numbers.Pop());

        // Create a copy of the stack, using the ToArray method and the
        // constructor that accepts an IEnumerable<T>.
        Stack<string> stack2 = new Stack<string>(numbers.ToArray());

        Console.WriteLine("\nContents of the first copy:");
        foreach( string number in stack2 )
        {
            Console.WriteLine(number);
        }

        // Create an array twice the size of the stack and copy the
        // elements of the stack, starting at the middle of the 
        // array. 
        string[] array2 = new string[numbers.Count * 2];
        numbers.CopyTo(array2, numbers.Count);

        // Create a second stack, using the constructor that accepts an
        // IEnumerable(Of T).
        Stack<string> stack3 = new Stack<string>(array2);

        Console.WriteLine("\nContents of the second copy, with duplicates and nulls:");
        foreach( string number in stack3 )
        {
            Console.WriteLine(number);
        }

        Console.WriteLine("\nstack2.Contains(\"four\") = {0}", 
            stack2.Contains("four"));

        Console.WriteLine("\nstack2.Clear()");
        stack2.Clear();
        Console.WriteLine("\nstack2.Count = {0}", stack2.Count);
    }
}

/* This code example produces the following output:

five
four
three
two
one

Popping 'five'
Peek at next item to destack: four
Popping 'four'

Contents of the first copy:
one
two
three

Contents of the second copy, with duplicates and nulls:
one
two
three




stack2.Contains("four") = False

stack2.Clear()

stack2.Count = 0
 */

通用 Windows 平台
自 8 起供應
.NET Framework
自 2.0 起供應
可攜式類別庫
提供支援︰ 可攜式 .NET 平台
Silverlight
自 2.0 起供應
Windows Phone Silverlight
自 7.0 起供應
Windows Phone
自 8.1 起供應

公用靜態 (Shared 在 Visual Basic) 此型別成員都是安全執行緒。 不保證任何執行個體成員是安全執行緒。

A Stack<T> 可以支援多個讀取器同時,只要不會修改集合。 即便如此,列舉集合在本質上並非安全執行緒程序。 若要確保列舉期間的執行緒安全性,您可以在整個列舉期間鎖定集合。 若要讓多重執行緒能夠存取集合以便進行讀取和寫入,您必須實作自己的同步處理。

回到頁首
顯示: