亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
C# 中的佇列如何運(yùn)作?
建構(gòu)子
C# 方法中的佇列函數(shù)
結(jié)論
首頁 後端開發(fā) C#.Net教程 C# 中的隊(duì)列

C# 中的隊(duì)列

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 集合允許存在大量空值和重複值。佇列使用兩個方法,稱為 Enqueue() 和 Dequeue(),分別用於新增和檢索值。

文法:

隊(duì)列是使用稱為隊(duì)列的資料類型建立的。這裡「new」關(guān)鍵字是用來建立佇列的物件。在佇列集合中,我們使用 Enqueue 方法新增項(xiàng)目,使用 Dequeue 方法刪除項(xiàng)目。

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

C# 中的佇列如何運(yùn)作?

佇列以 FIFO(先進(jìn)先出)的形式出現(xiàn),它是物件的集合,當(dāng)我們需要以先進(jìn)先出的方式存取專案時,會使用此流程。此佇列是非通用的,它使用 System.Collections 命名空間中定義的集合類型。一般來說,當(dāng)我們以佇列集合中儲存的方式使用資訊時,佇列很有用。

Queue 透過 IEnumerable、ICloneable、ICollection 介面實(shí)作。對於引用類型,它接受 null 有效值。在佇列集合中,新增項(xiàng)目時,我們使用 Enqueue 方法;刪除項(xiàng)目時,我們使用 Dequeue 方法。新增項(xiàng)目到佇列時,總?cè)萘繒詣釉黾铀璧挠洃涹w。

範(fàn)例:

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的項(xiàng)目。為了新增元素,我們使用 Enqueue() 方法,為了刪除元素,我們使用 Dequeue() 方法。 Count屬性用於取得佇列中元素的總數(shù),該屬性的傳回值是一個數(shù)字。另一個方法 Contains() 用來檢查給定值/元素是否存在,它會傳回 bool 值 true 或 false。 Peek() 用來取得佇列集合中最上面的值。

輸出:

C# 中的隊(duì)列

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

建構(gòu)子

在 Queue 類別中,它是由用於建立佇列的建構(gòu)子組成。

  • Queue():建構(gòu)子 Queue() 用於建立佇列類別的實(shí)例,它有助於使用預(yù)設(shè)成長因子。
  • Queue(ICollection): 此建構(gòu)子用於建立佇列的實(shí)例,它包含從指定集合複製的項(xiàng)目,並且具有與複製的項(xiàng)目數(shù)相同的容量。它還使用預(yù)設(shè)的初始生長因子。
  • Queue(Int32):此建構(gòu)函式用於建立一個空的 Queue 類別實(shí)例,該實(shí)例指定了初始容量,並使用預(yù)設(shè)的成長因子。
  • Queue(Int32, Single):此建構(gòu)函式用於建立一個空的 Queue 類別實(shí)例,該實(shí)例指定了初始容量,並使用預(yù)設(shè)的成長因子。

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

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

  • Enqueue():Enqueue方法用於在Queue中添加元素時使用,它是一個非泛型集合,因此我們可以在該方法中添加任何資料類型的元素。此方法使用的簽章是 void Enqueue(object obj)
  • Dequeue():Dequeue 方法用於存取佇列,用於擷取佇列中最頂層的元素。透過用於刪除佇列的 FIFO 方法 Dequeue 及其傳回佇列集合中的第一個元素的結(jié)果,僅當(dāng)佇列的總計(jì)數(shù)始終大於零時才呼叫 Dequeue(),否則會引發(fā)例外狀況。此方法使用的簽章是 object Dequeue()
  • Peek(): 此方法將始終傳回佇列集合中的第一個元素,而不是從佇列中刪除。如果呼叫空隊(duì)列集合,它會拋出異常。
  • 此方法使用的簽章是object Peek()。
  • Clear():此方法用於從佇列集合中刪除物件。此方法使用的簽章是 void Clear()。
  • Contains():此方法用來檢查Queue集合中是否存在某個元素。此方法使用的簽章是 bool Contains(object obj).
  • Clone():Clone() 方法用於建立隊(duì)列集合的淺表副本。
  • Equals(Object):此方法用於檢查特定物件是否等於目前物件。
  • 同步(佇列):此方法傳回一個包含原始佇列的新佇列。
  • TrimToSize(): 此方法用於設(shè)定隊(duì)列集合中實(shí)際項(xiàng)目數(shù)的容量。

結(jié)論

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

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

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#多線程和異步的區(qū)別 c#多線程和異步的區(qū)別 Apr 03, 2025 pm 02:57 PM

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

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)點(diǎn),其演變注重簡潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來將專注於開發(fā)者的生產(chǎn)力和雲(yún)計(jì)算。

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)慎,並備份原始文件。

xml如何轉(zhuǎn)化為word xml如何轉(zhuǎn)化為word Apr 03, 2025 am 08:15 AM

有三種將 XML 轉(zhuǎn)換為 Word 的方法:使用 Microsoft Word、使用 XML 轉(zhuǎn)換器或使用編程語言。

xml怎麼轉(zhuǎn)換成json xml怎麼轉(zhuǎn)換成json Apr 03, 2025 am 09:09 AM

將 XML 轉(zhuǎn)換為 JSON 的方法包括:使用編程語言(如 Python、Java、C#)編寫腳本或程序進(jìn)行轉(zhuǎn)換;使用在線工具(如 XML 轉(zhuǎn)換為 JSON、Gojko's XML 轉(zhuǎn)換器、XML 在線工具)粘貼或上傳 XML 數(shù)據(jù)並選擇 JSON 格式輸出;使用 XML 到 JSON 轉(zhuǎn)換器(如 Oxygen XML Editor、Stylus Studio、Altova XMLSpy)執(zhí)行轉(zhuǎn)換任務(wù);使用 XSLT 樣式表將 XML 轉(zhuǎn)換為 JSON;使用數(shù)據(jù)集成工具(如 Informatic

c#多線程編程是什麼  c#多線程編程用處 c#多線程編程是什麼 c#多線程編程用處 Apr 03, 2025 pm 02:45 PM

C# 多線程編程是一種讓程序同時執(zhí)行多項(xiàng)任務(wù)的技術(shù),它可以通過提升性能、提高響應(yīng)能力和實(shí)現(xiàn)並行處理來提高程序效率。雖然 Thread 類提供了直接創(chuàng)建線程的方法,但 Task 和 async/await 等高級工具可以提供更安全的異步操作和更簡潔的代碼結(jié)構(gòu)。多線程編程中常見的難題包括死鎖、競態(tài)條件和資源洩漏,需要仔細(xì)設(shè)計(jì)線程模型和使用適當(dāng)?shù)耐綑C(jī)制來避免這些問題。

C#.NET:使用.NET生態(tài)系統(tǒng)構(gòu)建應(yīng)用程序 C#.NET:使用.NET生態(tài)系統(tǒng)構(gòu)建應(yīng)用程序 Apr 27, 2025 am 12:12 AM

如何利用.NET構(gòu)建應(yīng)用?使用.NET構(gòu)建應(yīng)用可以通過以下步驟實(shí)現(xiàn):1)了解.NET基礎(chǔ)知識,包括C#語言和跨平臺開發(fā)支持;2)學(xué)習(xí)核心概念,如.NET生態(tài)系統(tǒng)的組件和工作原理;3)掌握基本和高級用法,從簡單控制臺應(yīng)用到復(fù)雜的WebAPI和數(shù)據(jù)庫操作;4)熟悉常見錯誤與調(diào)試技巧,如配置和數(shù)據(jù)庫連接問題;5)應(yīng)用性能優(yōu)化與最佳實(shí)踐,如異步編程和緩存。

從網(wǎng)絡(luò)到桌面:C#.NET的多功能性 從網(wǎng)絡(luò)到桌面:C#.NET的多功能性 Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

See all articles