112b

صف (Queue) در سی شارپ

لینک کوتاه https://codecell.ir/a/112b
به اشتراک گذاری
کلمات کلیدی:
نویسنده:
0
0
0
آموزش های نویسنده:
صف (Queue) در سی شارپ

صف (Queue) در سی شارپ چیست؟

صف در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.

نحوه ایجاد صف (Queue) در سی شارپ (CSharp)

برای استفاده از Queue در سی شارپ باید از فضای نام System.Collections.Generic استفاده کنیم.

    

using System.Collections.Generic;

 

بعد از افزودن فضای نام می توانیم صف خود را مانند مثال زیر ایجاد کنیم:

    

Queue<int> myQueue = new Queue<int>();
    

 

اکنون، متغیر Queue خود را از نوع داده «int» ایجاد کرده‌ایم و نام آن را myQueue گذاشته‌ایم. وقتی صف خود را ایجاد می کنیم، باید نوع داده را مشخص کنیم. همانطور که در مثال بالا می بینیم، ما از نوع داده "int" استفاده کرده ایم. ما می توانیم از انواع داده های دیگر نیز استفاده کنیم، مانند انواع داده های رشته ای یا boolean.

افزودن عناصر به صف (Queue) در سی شارپ (CSharp)

برای افزودن عناصر به صف (Queue) در سی شارپ باید از تابع ()Enqueue مانند مثال زیر استفاده کنیم:

    

Queue<int> myQueue = new Queue<int>();
    myQueue.Enqueue(1);
    myQueue.Enqueue(2);
    myQueue.Enqueue(3);
    Console.WriteLine(String.Join(" ", myQueue));
    Output:
    1 2 3

 

در مثال بالا می بینیم که با استفاده از تابع ()Enqueue چند عنصر را به Queue اضافه کرده ایم. می‌توانیم با چاپ Queue و بررسی خروجی می بینیم که آنها با موفقیت اضافه شده‌اند.

دسترسی به اولین عنصر صف در سی شارپ

برای بدست آوردن اولین آیتم صف (Queue) در csharp باید از تابع ()Peek مانند مثال زیر استفاده کنیم:

    

Queue<int> myQueue = new Queue<int>();
    myQueue.Enqueue(1);
    myQueue.Enqueue(2);
    myQueue.Enqueue(3);
    Console.WriteLine(myQueue.Peek());
    Output:
    1

 

در مثال بالا، می بینیم که از تابع ()Peek برای بازیابی اولین عنصر صف استفاده کردیم. می‌توانیم با چاپ نتیجه و بررسی خروجی می توان این موضوع را مشاهده کرد.

حذف اولین عنصر از صف در سی شارپ

برای حذف اولین آیتم صف (Queue) در csharp باید از تابع ()Dequeue استفاده کنیم. تابع ()Dequeue نیز اولین آیتم صف را بر می گرداند. به مثال زیر توجه کنید:

    

Queue<int> myQueue = new Queue<int>();
    myQueue.Enqueue(1);
    myQueue.Enqueue(2);
    myQueue.Enqueue(3);
    Console.WriteLine(myQueue.Dequeue());
    Console.WriteLine(String.Join(" ", myQueue));
    Output:
    1
    2 3

 

در مثال بالا، می بینیم که ما چند عنصر را به صف خود اضافه کرده ایم. ما از تابع ()Dequeue برای برگرداندن و حذف اولین عنصر در صف استفاده کردیم. ما می توانیم با چاپ نتیجه و بررسی خروجی بررسی کنیم که تابع ()Dequeue اولین عنصر را برمی گرداند. همچنین می‌توانیم تأیید کنیم که تابع ()Dequeue اولین عنصر را با چاپ Queue حذف کرده و توجه داشته باشیم که عنصر اول دیگر وجود ندارد.

نحوه پاک کردن صف در سی شارپ

برای پاک کردن کامل صف در سی شارپ باید از تابع ()Clear مانند مثال زیر استفاده کنیم:

    

Queue<int> myQueue = new Queue<int>();
    myQueue.Enqueue(1);
    myQueue.Enqueue(2);
    myQueue.Enqueue(3);
    myQueue.Clear();
    Console.WriteLine(String.Join(" ", myQueue));
    Output:

 

در مثال بالا، ما چند عنصر را به صف خود اضافه کرده‌ایم. سپس از تابع ()Clear در Queue استفاده کردیم. با چاپ Queue و بررسی خروجی می‌ توانیم تأیید کنیم که همه عناصر حذف شده‌اند. خروجی ما باید خالی باشد زیرا همه چیز را حذف کردیم.

بررسی عناصر در یک صف در سی شارپ

برای بررسی اینکه آیا یک عنصر در یک صف وجود دارد یا خیر باید  از تابع ()Contains مانند مثال زیر استفاده کنیم:

    

Queue<int> myQueue = new Queue<int>();
    myQueue.Enqueue(1);
    myQueue.Enqueue(2);
    myQueue.Enqueue(3);
    Console.WriteLine(myQueue.Contains(2));
    Console.WriteLine(myQueue.Contains(4));
    Output:
    True
    False

 

در مثال بالا، می بینیم که ما چند عدد را به صف خود اضافه کردیم. سپس نتایج تابع ()Contains را چاپ کردیم. در این مثال بررسی کرده ایم که آیا صف ما حاوی مقدار «2» و مقدار «4» است یا خیر. همانطور که در خروجی می بینیم، صف ما حاوی مقدار «2» است، اما  حاوی مقدار «4» نیست.

بررسی اندازه یک صف در سی شارپ

برای بررسی تعداد عناصر موجود در صف باید از تابع ()Count مانند مثال زیر استفاده کنیم:

    

Queue<int> myQueue = new Queue<int>();
    myQueue.Enqueue(1);
    myQueue.Enqueue(2);
    myQueue.Enqueue(3);
    Console.WriteLine(myQueue.Count);
    Output:
    3

 

در مثال بالا، می بینیم که ما چند عدد را به صف خود اضافه کردیم. سپس نتیجه تابع ()Count را چاپ کردیم. همانطور که در خروجی می بینیم، صف ما شامل 3 عنصر است.

نتیجه گیری

ما در این مقاله به بررسی صف (Queue) در سی شارپ پرداختیم و برخی از توابع صف از جمله نحوه ایجاد،افزودن و حذف عنصر،به دست آوردن اولین عنصر صف،پاک کردن صف و بدست آوردن اندازه صف را بررسی کردیم.

دیگر مقالات آموزش برنامه نویسی مدرس

Response Caching در ASP.NET Core

Response Caching یک مکانیزم ذخیره سازی پاسخ سرور توسط مرورگر یا سایر کلاینت ها است. با استفاده از Response Caching در Asp.net Core می توانیم عملکرد و کارایی سیستم را بالا ببریم.

305 0 1402/10/22

Output Caching در ASP.NET Core 8.0

Output Caching یک ویژگی جدید است که از زمان .NET 7 معرفی شده است. این ویژگی به ما این امکان را می دهد که به راحتی یک کش پاسخ برای Web API خود بدون پیاده سازی IMemoryCache راه اندازی کنیم.

353 0 1402/10/14

الگوی طراحی زنجیره مسئولیت در سی شارپ

الگوی زنجیره مسئولیت یا Chain of Responsibility Design Pattern یک الگوی طراحی رفتاری(behavioral design pattern) است که اجازه می‌دهد یک درخواست در امتداد زنجیره‌ای از کنترل‌کننده‌های بالقوه ارسال شود تا زمانی که درخواست مناسب برای پردازش آن را پیدا کند.

337 2 1402/10/01

ViewComponent در ASP.NET Core

در ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در Asp.net core پرداخته ایم.

797 2 1402/05/15

تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها

تطبیق الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و اقدامات مربوطه را انجام دهند.

479 1 1402/04/05

تزریق وابستگی در ASP.NET Core

تزریق وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.

1٬161 1 1402/02/04

ضروری ترین کتابخانه های NuGet برای ASP.NET Core

در این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر توسعه‌ دهنده‌ ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز برای برنامه ‌های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.

1٬113 1 1401/12/29

الگوی طراحی Factory در سی شارپ

الگوهای طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر کلاس فراهم می‌کند. ما در این مقاله الگوی Factory Method Design در سی شارپ را بررسی می کنیم.

1٬139 1 1401/10/28

مقایسه List و Array در سی شارپ

آرایه و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در این مقاله Benchmark و کارایی List<T> با سایز داینامیک، List<T> با سایز ثابت و Array ها را بررسی می کنیم.

1٬657 2 1401/09/01

Garbage Collection در دات نت

به طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection را در سی شارپ بررسی خواهیم کرد.

2٬300 3 1401/03/30

.NET Core چیست؟

.Net (با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز MIT منتشر شده است.

2٬083 2 1401/03/16

پشته(Stack) در سی شارپ

پشته یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته خارج می شود.

1٬776 0 1401/03/09

Redirect درخواست (ریدایرکت) در asp.net core

در برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.

2٬087 5 1401/02/12

تبدیل enum به لیست انتخابی در asp.net core

در این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در بوت استرپ 5 نمایش می دهیم.

1٬500 3 1401/02/03

نحوه ارسال ایمیل در asp و c#

امروزه ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل در asp core و سی شارپ پیاده سازی گردیده است.

2٬118 5 1401/02/03
نظرات

برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید