具有示例的C#Stack.TrimExcess()方法

如果该数目小于阈值,则使用C#中的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("堆栈中的元素:");
      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);
   }
}

输出结果

堆栈中的元素:
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