C#栈的简单介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#栈的简单介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1896字,纯文字阅读大概需要3分钟。
内容图文
- 概
栈(Stack)代表了一个只有一个出口的后进先出的对象集合。在列表中添加一项,称为推入元素,从列表中移除一项时,称为弹出元素。
Stack<T> 类
public class Stack<T> : IEnumerable<T>, ICollection, IEnumerable
- 属性
Count 获取 Stack 中包含的元素个数
- 方法
Pop 移除并返回在 Stack 的顶部的对象
push 向 Stack 的顶部添加一个对象
peek 返回在 Stack 的顶部的对象,但不移除它
ToArray 创建数组并将堆栈元素复制到其中
Contains 判断一个元素是否在栈中
Clear 从 Stack 中移除所有的元素。
- 实例
在此使用MSDN中例子。以下代码及结果显示图片来自:C#栈的简单介绍及应用
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");
// 遍历元素
Console.ForegroundColor = ConsoleColor.Green;
foreach (string number in numbers)
{
Console.WriteLine(number);
}
//pop弹出元素,并删除“five”
Console.WriteLine("\nPopping ‘{0}‘", numbers.Pop());
//peek弹出元素,但不删除
Console.WriteLine("Peek at next item to destack: {0}",numbers.Peek());
//再弹出再删除
Console.WriteLine("Popping ‘{0}‘", numbers.Pop());
// 创建新栈,复制元素
Stack<string> stack2 = new Stack<string>(numbers.ToArray());
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine("\nContents of the first copy:");
foreach (string number in stack2)
{
Console.WriteLine(number);
}
// 创建双倍size数组,从一般开始存储栈元素
string[] array2 = new string[numbers.Count * 2];
numbers.CopyTo(array2, numbers.Count);
// 再创建双倍size栈,将数组再存入
Stack<string> stack3 = new Stack<string>(array2);
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("\nContents of the second copy, with duplicates and nulls:");
foreach (string number in stack3)
{
Console.WriteLine(number);
}
//contains用法
Console.WriteLine("\nstack2.Contains(\"four\") = {0}", stack2.Contains("four"));
Console.WriteLine("\nstack2.Clear()");
//Clear()用法
stack2.Clear();
Console.WriteLine("\nstack2.Count = {0}", stack2.Count);
}
}
结果如下:
原文:http://www.cnblogs.com/leafki/p/5850784.html
内容总结
以上是互联网集市为您收集整理的C#栈的简单介绍全部内容,希望文章能够帮你解决C#栈的简单介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。