zhcn 编程语言 Golang Go 文件处理 非公開: C# 队列:队列

C# 队列:队列

在C#中,队列(Queue类)类似于堆栈。表示对象的先进先出集合。如果您需要对项目进行先进先出访问,则可以使用队列。将元素添加到队列中称为入队,从堆栈中删除元素称为出队。

队列类属性

下表列出了 Queue 类的一些常用属性。

属性解释
Count获取队列中元素的数量
IsSynchronized确定对队列的访问是否同步(线程安全)
SyncRoot获取可用于同步对队列的访问的对象

队列类方法

下表列出了 Queue 类的一些常用方法。

方法名称解释
public virtual void Clear()从队列中删除所有元素
public virtual bool Contains(object obj)检查元素是否在队列中
public virtual object Dequeue()删除并返回队列头部的对象
public virtual void Enqueue(object obj)将对象添加到队列末尾
public virtual object[] ToArray()将队列复制到新数组
public virtual void TrimToSize()将队列容量设置为队列中的实际元素数。

有关Queue类的属性和方法的更多信息,请参阅官方C#文档

[示例] 下面的示例演示如何使用Queue 类的属性和方法。

 using System;
using System.Collections;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Queue q = new Queue();

            q.Enqueue('A');
            q.Enqueue('B');
            q.Enqueue('C');
            q.Enqueue('D');

            Console.WriteLine("現在のキュー: ");
            foreach (char c in q)
                Console.Write(c + " ");
            Console.WriteLine("\r\nいくつかの要素をキューに追加します:\r\nE F");
            q.Enqueue('E');
            q.Enqueue('F');
            Console.WriteLine("現在のキュー: ");       
            foreach (char c in q)
                Console.Write(c + " ");
            Console.WriteLine();
            Console.WriteLine("いくつかの値を削除します:");
            char ch = (char)q.Dequeue();
            Console.Write(ch + " ");
            ch = (char)q.Dequeue();
            Console.Write(ch + "\r\n");
            Console.WriteLine("現在のキュー: ");
            foreach (char c in q)
                Console.Write(c + " ");
            Console.ReadKey();
        }
    }
} 

操作的结果将是:

現在のキュー:
A B C D
いくつかの要素をキューに追加します:
E F
現在のキュー:
A B C D E F
いくつかの値を削除します:
A B
現在のキュー:
C D E F

《C#队列:队列》通俗易懂的讲解!您必须观看的 2 个最佳视频

25. C# – キュー
https://www.youtube.com/watch?v=l8OVYcpBlnI&pp=ugMICgJqYRABGAHKBR4gQyMg44Kt44Ol44O8OiDjgq3jg6Xjg7wmaGw9SkE%3D
[Khóa học lập trình #C#_nâng_cao] – Bài 5: #Stack trong C# | HowKteam
https://www.youtube.com/watch?v=st-JBK1yJ5o&pp=ygUeIEMjIOOCreODpeODvDog44Kt44Ol44O8JmhsPUpB
在C#中,队列(Queue类)类似于堆栈。表示对象的先进先出集合。如果您需要对项目进行先进先出访问,则可以使用队列。将元素添加到队列中称为入队,从堆栈中删除元素称为出队。

队列类属性

下表列出了 Queue 类的一些常用属性。

属性解释
Count获取队列中元素的数量
IsSynchronized确定对队列的访问是否同步(线程安全)
SyncRoot获取可用于同步对队列的访问的对象

队列类方法

下表列出了 Queue 类的一些常用方法。

方法名称解释
public virtual void Clear()从队列中删除所有元素
public virtual bool Contains(object obj)检查元素是否在队列中
public virtual object Dequeue()删除并返回队列头部的对象
public virtual void Enqueue(object obj)将对象添加到队列末尾
public virtual object[] ToArray()将队列复制到新数组
public virtual void TrimToSize()将队列容量设置为队列中的实际元素数。

有关Queue类的属性和方法的更多信息,请参阅官方C#文档

[示例] 下面的示例演示如何使用Queue 类的属性和方法。

 using System;
using System.Collections;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Queue q = new Queue();

            q.Enqueue('A');
            q.Enqueue('B');
            q.Enqueue('C');
            q.Enqueue('D');

            Console.WriteLine("現在のキュー: ");
            foreach (char c in q)
                Console.Write(c + " ");
            Console.WriteLine("\r\nいくつかの要素をキューに追加します:\r\nE F");
            q.Enqueue('E');
            q.Enqueue('F');
            Console.WriteLine("現在のキュー: ");       
            foreach (char c in q)
                Console.Write(c + " ");
            Console.WriteLine();
            Console.WriteLine("いくつかの値を削除します:");
            char ch = (char)q.Dequeue();
            Console.Write(ch + " ");
            ch = (char)q.Dequeue();
            Console.Write(ch + "\r\n");
            Console.WriteLine("現在のキュー: ");
            foreach (char c in q)
                Console.Write(c + " ");
            Console.ReadKey();
        }
    }
} 

操作的结果将是:

現在のキュー:
A B C D
いくつかの要素をキューに追加します:
E F
現在のキュー:
A B C D E F
いくつかの値を削除します:
A B
現在のキュー:
C D E F

《C#队列:队列》通俗易懂的讲解!您必须观看的 2 个最佳视频

25. C# – キュー
https://www.youtube.com/watch?v=l8OVYcpBlnI&pp=ugMICgJqYRABGAHKBR4gQyMg44Kt44Ol44O8OiDjgq3jg6Xjg7wmaGw9SkE%3D
[Khóa học lập trình #C#_nâng_cao] – Bài 5: #Stack trong C# | HowKteam
https://www.youtube.com/watch?v=st-JBK1yJ5o&pp=ygUeIEMjIOOCreODpeODvDog44Kt44Ol44O8JmhsPUpB