国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
C# 中的隊列如何工作?
構(gòu)造函數(shù)
C# 方法中的隊列函數(shù)
結(jié)論

C# 中的隊列

Sep 03, 2024 pm 03:30 PM
c# c# tutorial

隊列是一個對象的集合,它以 FIFO(先進(jìn)先出)的形式表示,先添加的元素先出現(xiàn),在 C# 中,隊列集合類存在于命名空間 System.Collection 中。隊列以 FIFO 順序存儲元素,我們可以按照先進(jìn)先出的方式訪問元素。隊列與堆棧集合正好相反,其中堆棧是 LIFO(后進(jìn)先出)。 Queue 集合允許存在大量空值和重復(fù)值。隊列使用兩個方法,稱為 Enqueue() 和 Dequeue(),分別用于添加和檢索值。

語法:

隊列是使用稱為隊列的數(shù)據(jù)類型創(chuàng)建的。這里“new”關(guān)鍵字用于創(chuàng)建隊列的對象。在隊列集合中,我們使用 Enqueue 方法添加項目,使用 Dequeue 方法刪除項目。

Queue QueueObject = new Queue() // creation of Queue
QueueObject.Enqueue(element) // to add element to Queue
QueueObject.Dequeue() //to remove element to Queue

C# 中的隊列如何工作?

隊列以 FIFO(先進(jìn)先出)的形式出現(xiàn),它是對象的集合,當(dāng)我們需要以先進(jìn)先出的方式訪問項目時,會使用此過程。該隊列是非通用的,它使用 System.Collections 命名空間中定義的集合類型。一般來說,當(dāng)我們以隊列集合中存儲的方式使用信息時,隊列很有用。

Queue 通過 IEnumerable、ICloneable、ICollection 接口實現(xiàn)。對于引用類型,它接受 null 有效值。在隊列集合中,添加項目時,我們使用 Enqueue 方法;刪除項目時,我們使用 Dequeue 方法。添加項目到隊列時,總?cè)萘繒詣釉黾铀璧膬?nèi)存。

示例:

using System;
using System.Collections;
public class QueueProgram {
static public void Main()
{
// to create a queue - using Queue class
Queue _objQueue = new Queue();
// to add an elements in Queue - using Enqueue() method
_objQueue.Enqueue("DotNet");
_objQueue.Enqueue("SQL");
_objQueue.Enqueue("Java");
_objQueue.Enqueue("PHP");
_objQueue.Enqueue("Android");
Console.WriteLine("Working Process of Queue\n");
Console.WriteLine("Number of Elements Present in Object(_objQueue)? ?: {0}", _objQueue.Count);
// to obtain the topmost element of _objQueue - using Dequeue method
Console.WriteLine("\nTo Get the topmost element in Queue" + " is? ? ? ? ? ? : {0}", _objQueue.Dequeue());
Console.WriteLine("\nNumber of Elements Present in Object(_objQueue)? ?: {0}", _objQueue.Count);
// to obtain the topmost element of _objQueue - using Peek method
Console.WriteLine("\nTo Get the topmost element in Queue is? ? ? ? ? ? : {0}", _objQueue.Peek());
Console.WriteLine("\nNumber of Elements Present in Object(_objQueue)? ?: {0}", _objQueue.Count);
// to check hether the element is present in the Queue
if (_objQueue.Contains("SQL") == true)
{
Console.WriteLine("\nElement is Present !");
}
else
{
Console.WriteLine("\nElement is not Present !");
}
}
}

在上面的程序中,我們將Queue聲明為_objQueue來保存Queue的項目。為了添加新元素,我們使用 Enqueue() 方法,為了刪除元素,我們使用 Dequeue() 方法。 Count屬性用于獲取隊列中元素的總數(shù),該屬性的返回值是一個數(shù)字。另一個方法 Contains() 用于檢查給定值/元素是否存在,它返回 bool 值 true 或 false。 Peek() 用于獲取隊列集合中最上面的值。

輸出:

C# 中的隊列

從上面的輸出來看,顯示了 Queue 的項目。首先,它使用 Count() 方法顯示隊列中存在的元素總數(shù),然后使用 Peek() 方法顯示最上面的元素。通過使用 Contains() 方法,它檢查隊列集合中是否存在該元素。

構(gòu)造函數(shù)

在 Queue 類中,它由用于創(chuàng)建隊列的構(gòu)造函數(shù)組成。

  • Queue():構(gòu)造函數(shù) Queue() 用于創(chuàng)建隊列類的實例,它有助于使用默認(rèn)增長因子。
  • Queue(ICollection): 此構(gòu)造函數(shù)用于創(chuàng)建隊列的實例,它包含從指定集合復(fù)制的項目,并且具有與復(fù)制的項目數(shù)量相同的容量。它還使用默認(rèn)的初始生長因子。
  • Queue(Int32):此構(gòu)造函數(shù)用于創(chuàng)建一個空的 Queue 類實例,該實例指定了初始容量,并使用默認(rèn)的增長因子。
  • Queue(Int32, Single):此構(gòu)造函數(shù)用于創(chuàng)建一個空的 Queue 類實例,該實例指定了初始容量,并使用默認(rèn)的增長因子。

C# 方法中的隊列函數(shù)

讓我們看看以下函數(shù)列表,其中是 Queue 類的常用方法 -

  • Enqueue():Enqueue方法用于在Queue中添加元素時使用,它是一個非泛型集合,因此我們可以在該方法中添加任何數(shù)據(jù)類型的元素。該方法使用的簽名是 void Enqueue(object obj)
  • Dequeue():Dequeue 方法用于訪問隊列,用于檢索隊列中最頂層的元素。通過用于刪除隊列的 FIFO 方法 Dequeue 及其返回隊列集合中的第一個元素的結(jié)果,僅當(dāng)隊列的總計數(shù)始終大于零時才調(diào)用 Dequeue(),否則會引發(fā)異常。該方法使用的簽名是 object Dequeue()
  • Peek(): 此方法將始終返回隊列集合中的第一個元素,而不從隊列中刪除。如果調(diào)用空隊列集合,它會拋出異常。
  • 該方法使用的簽名是object Peek()。
  • Clear():該方法用于從隊列集合中刪除對象。該方法使用的簽名是 void Clear()。
  • Contains():該方法用于檢查Queue集合中是否存在某個元素。該方法使用的簽名是 bool Contains(object obj).
  • Clone():Clone() 方法用于創(chuàng)建隊列集合的淺表副本。
  • Equals(Object):此方法用于檢查特定對象是否等于當(dāng)前對象。
  • 同步(隊列):此方法返回一個包含原始隊列的新隊列。
  • TrimToSize(): 該方法用于設(shè)置隊列集合中實際項目數(shù)的容量。

結(jié)論

在這篇文章中,我們了解了C#中Queue()的用法,它基于先進(jìn)先出的概念,我們分別使用Enqueue()和Dequeue()方法來添加和刪除隊列。

以上是C# 中的隊列的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

C# 中的隨機(jī)數(shù)生成器 C# 中的隨機(jī)數(shù)生成器 Sep 03, 2024 pm 03:34 PM

C# 隨機(jī)數(shù)生成器指南。在這里,我們討論隨機(jī)數(shù)生成器的工作原理、偽隨機(jī)數(shù)和安全數(shù)的概念。

C# 中的階乘 C# 中的階乘 Sep 03, 2024 pm 03:34 PM

C# 階乘指南。這里我們討論 C# 中階乘的介紹以及不同的示例和代碼實現(xiàn)。

c#多線程和異步的區(qū)別 c#多線程和異步的區(qū)別 Apr 03, 2025 pm 02:57 PM

多線程和異步的區(qū)別在于,多線程同時執(zhí)行多個線程,而異步在不阻塞當(dāng)前線程的情況下執(zhí)行操作。多線程用于計算密集型任務(wù),而異步用于用戶交互操作。多線程的優(yōu)勢是提高計算性能,異步的優(yōu)勢是不阻塞 UI 線程。選擇多線程還是異步取決于任務(wù)性質(zhì):計算密集型任務(wù)使用多線程,與外部資源交互且需要保持 UI 響應(yīng)的任務(wù)使用異步。

C# 中的質(zhì)數(shù) C# 中的質(zhì)數(shù) Sep 03, 2024 pm 03:35 PM

C# 素數(shù)指南。這里我們討論c#中素數(shù)的介紹和示例以及代碼實現(xiàn)。

C#與C:歷史,進(jìn)化和未來前景 C#與C:歷史,進(jìn)化和未來前景 Apr 19, 2025 am 12:07 AM

C#和C 的歷史與演變各有特色,未來前景也不同。1.C 由BjarneStroustrup在1983年發(fā)明,旨在將面向?qū)ο缶幊桃隒語言,其演變歷程包括多次標(biāo)準(zhǔn)化,如C 11引入auto關(guān)鍵字和lambda表達(dá)式,C 20引入概念和協(xié)程,未來將專注于性能和系統(tǒng)級編程。2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點,其演變注重簡潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來將專注于開發(fā)者的生產(chǎn)力和云計算。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在這里,我們討論 C# 中模式的介紹和前 3 種類型,以及其示例和代碼實現(xiàn)。

xml怎么改格式 xml怎么改格式 Apr 03, 2025 am 08:42 AM

可以采用多種方法修改 XML 格式:使用文本編輯器(如 Notepad )進(jìn)行手工編輯;使用在線或桌面 XML 格式化工具(如 XMLbeautifier)進(jìn)行自動格式化;使用 XML 轉(zhuǎn)換工具(如 XSLT)定義轉(zhuǎn)換規(guī)則;或者使用編程語言(如 Python)進(jìn)行解析和操作。修改時需謹(jǐn)慎,并備份原始文件。

C# 中的回文 C# 中的回文 Sep 03, 2024 pm 03:34 PM

C# 回文指南。在這里,我們討論 C# 中回文背后的介紹和邏輯,以及各種方法及其代碼。

See all articles