C#的Queue 类使用说明

这篇具有很好参考价值的文章主要介绍了C#的Queue 类使用说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:Queue 类简单说明

1)表示对象的先进先出集合
2)当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。

二:Queue 类的构造函数

构造函数 构造函数说明
Hashtable() 使用默认的初始容量、加载因子、哈希代码提供程序和比较器来初始化 Hashtable 类的新的空实例。
Hashtable(IDictionary) 通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。 新 Hashtable 对象的初始容量等于复制的元素数,并且使用默认的加载因子、哈希代码提供程序和比较器。
Hashtable(IDictionary, IEqualityComparer) 通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。 新 Hashtable 对象的初始容量等于复制的元素数,并且使用默认加载因子和指定的 IEqualityComparer 对象。
Hashtable(IDictionary, Single) 通过将指定字典中的元素复制到新的 Hashtable 对象中,初始化 Hashtable 类的一个新实例。 新 Hashtable 对象的初始容量等于复制的元素数,并且使用指定的加载因子、默认哈希代码提供程序和默认比较器。

三:Queue 类的属性

属性 属性说明
Count 获取 Queue 中包含的元素数。
IsSynchronized 获取一个值,该值指示是否同步对 Queue 的访问(线程安全)。
SyncRoot 获取可用于同步对 Queue 的访问的对象。

四:Queue 类的方法

属性 属性说明
Clear() 从 Queue 中移除所有对象。
Clone() 创建 Queue 的浅表副本。
Contains(Object) 确定某元素是否在 Queue 中。
Enqueue() 将对象添加到 Queue 的结尾处。
Dequeue() 移除并返回位于 Queue 开始处的对象(从队列中,取出排在第一位的元素。)
CopyTo(Array, Int32) 从指定数组索引开始将 Queue 元素复制到现有一维 Array 中。
Equals(Object) 确定指定对象是否等于当前对象。
GetEnumerator() 返回循环访问 Queue 的枚举数。
GetHashCode() 作为默认哈希函数。
GetType() 获取当前实例的 Type。
MemberwiseClone() 创建当前 Object 的浅表副本。
Peek() 返回位于 Queue 开始处的对象但不将其移除。
Synchronized(Queue) 返回将包装原始队列并且是线程安全的新的 Queue。
ToArray() 将 Queue 元素复制到新数组。
ToString() 返回表示当前对象的字符串。
TrimToSize() 将容量设置为 Queue 中元素的实际数目。

1: Queue.Enqueue()和Dequeue() 方法使用举例

1)作用:Enqueue将对象添加到 Queue 的结尾处。Dequeue则是从 Queue 的开始处移除的对象。
2)语法:

public virtual void Enqueue (object obj);
public virtual object Dequeue ();

3)使用举例:

// 创建并初始化源队列.
Queue mySourceQ = new Queue();
mySourceQ.Enqueue("one");
mySourceQ.Enqueue("two");
mySourceQ.Enqueue("three");
mySourceQ.Enqueue("four");

// 显示队列.
Console.Write("Queue values:");
foreach (Object obj in mySourceQ)
{
    Console.Write("    {0}", obj);
}
    
// 从队列中删除元素.
Console.WriteLine("\r\n(Dequeue)\t{0}", mySourceQ.Dequeue());

// 显示队列.
Console.Write("Queue values:");
foreach (Object obj in mySourceQ)
{
    Console.Write("    {0}", obj);
}

4)运行结果:

Queue values: one two three four
(Dequeue) one
Queue values: two three four

2: Queue.CopyTo(Array, Int32) 方法使用举例

1)作用:将 Queue 元素复制到指定数组索引开始的一维 Array 中。
2)语法:

public virtual void CopyTo (Array array, int index);

3)使用举例:

// 创建并初始化源队列.
Queue mySourceQ = new Queue();
mySourceQ.Enqueue("one");
mySourceQ.Enqueue("two");
mySourceQ.Enqueue("three");
mySourceQ.Enqueue("four");
// 创建并初始化一维目标数组.

Array myTargetArray = Array.CreateInstance(typeof(string), 15);
myTargetArray.SetValue("Good", 0);
myTargetArray.SetValue("bad", 1);
myTargetArray.SetValue("yes", 2);
myTargetArray.SetValue("no", 3);

// 将整个源队列复制到目标数组,从索引2开始.
mySourceQ.CopyTo(myTargetArray, 2);
foreach (Object myObj in myTargetArray)
{
    Console.Write("{0}{1}", ' ', myObj);
}

4)运行结果:

Good bad one two three four

3:Queue.ToArray 方法使用举例

1)作用:将 Queue 元素复制到新数组。
2)语法:

public virtual object[] ToArray ();

3)使用举例:

// 创建并初始化源队列.
Queue mySourceQ = new Queue();
mySourceQ.Enqueue("one");
mySourceQ.Enqueue("two");
mySourceQ.Enqueue("three");
mySourceQ.Enqueue("four");

// 将整个源队列,复制到新的标准数组中。
Object[] myStandardArray = mySourceQ.ToArray();

foreach (Object myObj in myStandardArray)
{
    Console.Write("{0}{1}", ' ', myObj);
}

4)运行结果:文章来源地址https://www.toymoban.com/news/detail-423176.html

one two three four

到了这里,关于C#的Queue 类使用说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用

    我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹 :为资源目录,用来存储所有的本地资源,如各种图片,脚本资源。 只有在这个目录下的内容才会显示在cocos编辑器的资源管理器中。 其中

    2024年02月10日
    浏览(30)
  • 【C#】.net core 6.0 使用第三方日志插件Log4net,配置文件详细说明

    欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平有限

    2024年04月12日
    浏览(37)
  • MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明

    MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 MySQL笔记——表的分组查询、表的分页查询、表的约束、数据库设计 MySQL案例——多表查询以及嵌套查询 MySQL笔记——数据库当中的事务以及Java实现对数据库进

    2024年01月16日
    浏览(54)
  • 【VxWorks】VxWorks系统详细介绍说明,环境搭建说明,使用场景,使用实例

    目录 1.VxWorks 概述 2.详细介绍 2.环境搭建说明 3.使用场景 4.使用实例         VxWorks 是一款实时操作系统(RTOS),广

    2024年02月15日
    浏览(28)
  • 队列(Queue):先进先出(FIFO)的数据结构

    队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服务的人。 在本篇博客中,我们将详细介绍队列的概念、用途

    2024年02月05日
    浏览(39)
  • iotop命令使用说明及iotop输出排序操作说明

    iotop是一个用来显示实时的磁盘活动 的工具,可查看哪些程序、进程或线程占用io过多。 iotop监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时

    2024年04月12日
    浏览(38)
  • valgrind基本功能介绍、基础使用方法说明 valgrind基本功能介绍、基础使用方法说明

    valgrind基本功能介绍、基础使用方法说明_valgrind使用方法_HNU Latecomer的博客-CSDN博客 拷贝效果不好,请看原文。 1、Valgrind概述 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。 Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(f

    2024年02月07日
    浏览(50)
  • chatGPT使用说明,相关技巧,使用记录等等

    它的工作原理是基于自然语言处理技术和深度学习算法。当用户输入问题时,我会将问题分解成并进行语义分析,以 理解用户的意图 。接着,我会调用内部的知识库和外部资源,比如搜索引擎、数据库等,寻找与问题相关的答案,并通过 回答、提供链接、建议 等方式

    2024年02月03日
    浏览(39)
  • 超维空间M1无人机使用说明书——01、ROS机载电脑使用说明——远程连接

    1、SSH优缺点 优点:1、消耗网络资源 2、运行稳定 缺点:1、图形化界面卡顿 2、对新手不友好 2、可视化软件优缺点 优点:1、对新手友好 2、运图形化界面比ssh流畅 缺点:1、消耗网络资源 一、远程登录到无人机端的Jetson nano 步骤一、通过SSH 登录到ROS主控端 无人机上电后会默认发

    2024年01月22日
    浏览(52)
  • ModHeader插件使用说明

    当我们访问一个地址(请求某个服务器站点)时通常会带有请求头(Request Headers)和请求体(Request Body),当然有时候也不需要带请求体。 比如我们访问百度,利用开发者工具就可以看到请求头里的很多信息,比如, Upgrade-Insecure-Requests :是一个请求首部,用来向服务器端发

    2023年04月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包