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 次浏览

开启你的职业生涯

完成课程并取得认证

开始学习
广告