C# Stack.TrimExcess() 方法詳解


Stack.TrimExcess() 方法用於在 List<T> 中實際元素個數小於閾值時,設定容量為實際元素個數。

語法

public void TrimExcess ();

示例

 線上演示

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      Stack<int> stack = new Stack<int>();
      stack.Push(100);
      stack.Push(150);
      stack.Push(175);
      stack.Push(200);
      stack.Push(225);
      stack.Push(250);
      stack.Push(300);
      stack.Push(400);
      stack.Push(450);
      stack.Push(500);
      Console.WriteLine("Elements in the Stack:");
      foreach(var val in stack) {
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in the Stack = "+stack.Count);
      Console.WriteLine("Does Stack has the element 400?= "+stack.Contains(400));
      stack.Clear();
      stack.TrimExcess();
      Console.WriteLine("Count of elements in the Stack (updated) = "+stack.Count);
   }
}

輸出

Elements in the Stack:
500
450
400
300
250
225
200
175
150
100
Count of elements in the Stack = 10
Does Stack has the element 400?= True
Count of elements in the Stack (updated) = 0

示例

 線上演示

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      Stack<string> stack = new Stack<string>();
      stack.Push("A");
      stack.Push("B");
      stack.Push("C");
      stack.Push("D");
      stack.Push("E");
      stack.Push("F");
      stack.Push("G");
      stack.Push("H");
      Console.WriteLine("Count of elements = "+stack.Count);
      Console.WriteLine("Elements in Stack...");
      foreach (string res in stack) {
         Console.WriteLine(res);
      }
      Console.Write("Count of elements (updated) = "+stack.Count);
      stack.Clear();
      stack.TrimExcess();
      Console.WriteLine("Count of elements in the Stack (updated) = "+stack.Count);
   }
}

輸出

Count of elements = 8
Elements in Stack...
H
G
F
E
D
C
B
A
Count of elements (updated) = 8Count of elements in the Stack (updated) = 0

更新日期: 2019 年 12 月 3 日

526 次瀏覽

開啟你的職業生涯

完成課程並取得認證

開始學習
廣告
© . All rights reserved.