C# - Stack - 简述

本文详细介绍了C#中的Stack数据结构,包括声明实例、获取长度、压入元素、弹出元素、读取栈顶元素以及各种操作方法如遍历、判断、查找极值等。通过实例讲解了Stack在实际编程中的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

简述,关于C# Stack的用法,T 代表类型

声明 - 实例

		//声明空间未实例
		Stack stack;
		Stack<T> stack;

		//实例栈  object型  后期使用须按需求涉及拆箱和装箱  增加内存回收次数  耗费性能
		stack = new Stack();

		//实例栈  T型  值类型-线程栈  引用类型-托管堆
		stack = new Strack<T>();
		//或  指定预设长度为10  后期按需求自增
		stack = new Strack<T>(10);
		//或  指定预设长度为10  后期按需求自增
		int count = 10;
		stack = new Strack<T>(count);

长度

		//与预设长度无关  当前压入量
		int count = stack.Count;

压入

		//后来居上式压入
		stack.Push(t);

弹出

		//弹出顶端元素并以此元素为返回值
		T t = stack.Pop();

读取

顶端

		//读取顶端元素并以此元素为返回值
		T t = stack.Peek();

遍历

		foreach (T item in stack)
		{
			Debug.Log(item);
		}

判断

		//判断元素是否存在
		bool containsOrNot = stack.Contains(t);

极值

		//若栈中元素是可比较的  数值类型比较大小  字符类型顺次比较
		//优先级 0 - 9 - a - z - A - Z
		T tMin = stack.Min();
		//优先级 Z - A - z - a - 9 - 0
		T tMax = stack.Max();

比较

		//先由底端对齐  从栈的顶端位开始向下对应比较  长度不同必然不等
		Stack<T> stack1 = new Stack<T>();
		bool equalsOrNot = stack.Equals(stack1);

拷贝

		//数组可接收长度必须足够  数组以下标为index为第一位置开始向后接收并覆盖自身
		T[] array = new T[10];
		stack.CopyTo(array, index);

清除

		//清除所有元素  初始化栈  count = 0
		stack.Clear();

栈转数组

		T[] array = stack.ToArray();

栈转列表

		List<T> list = stack.ToList();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值