c22d

Dictionary در سی شارپ

لینک کوتاه https://codecell.ir/a/c22d
به اشتراک گذاری
کلمات کلیدی:
نویسنده:
0
0
3
آموزش های نویسنده:
Dictionary در سی شارپ

Dictionary در سی شارپ چیست؟

از Dictionary می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا null باشند. 

ایجاد Dictionary در سی شارپ

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

using System.Collections.Generic;
Dictionary<int, string> myDict = new Dictionary<int, string>();

در مثال بالا کلیدهای ما از نوع داده 'int' و مقادیر ما از نوع داده 'string' هستند. وقتی دیکشنری خود را ایجاد می کنیم، باید ابتدا نوع داده را برای کلیدها و مقادیر خود مشخص کنیم. ما می توانیم از انواع داده های دیگر نیز برای هر دو استفاده کنیم.

نحوه افزودن عناصر به Dictionary در سی شارپ

برای افزودن عناصر  به Dictionary باید از تابع Add استفاده کنیم.یک نمونه از مثال افزودن عنصر به Dictionary در سی شارپ در زیر آمده است:

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
foreach(var element in myDict)
{
    Console.WriteLine(element.Key + ": " + element.Value);
}
Output:
1: One
4: Four
17: Seventeen

در مثال بالا، می‌توانیم ببینیم که با استفاده از تابع Add چند عنصر را به Dictionary خود اضافه کرده‌ایم. با چاپ Dictionary و بررسی خروجی می‌توانیم تأیید کنیم که آنها با موفقیت اضافه شده‌اند.

همانطور که در مثال بالا می بینیم، همچنین می توانیم با موفقیت Key و Value های همه عناصر را نیز بازیابی کنیم.

بازیابی کلیدهای یک Dictionary 

برای بازیابی کلیدهای موجود در دیکشنری می‌توانیم از ویژگی «Keys» مانند مثال زیر استفاده کنیم:

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
List<int> myKeys = new List<int>(myDict.Keys);
Console.WriteLine(String.Join(" ", myKeys));
Output:
1 4 17

در مثال بالا، می‌توانیم ببینیم که فهرست کلیدهای درون دیکشنری خود را با موفقیت بازیابی کرده‌ایم. با چاپ لیست به دست آمده و بررسی خروجی می توانیم تأیید کنیم که کلیدها را به درستی بازیابی کرده ایم.

بازیابی مقادیر یک Dictionary 

برای بازیابی مقادیر موجود در دیکشنری می‌توانیم از ویژگی «Values» مانند مثال زیر استفاده کنیم:

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
List<string> myValues = new List<string>(myDict.Values);
Console.WriteLine(String.Join(" ", myValues));
Output:
One Four Seventeen

در مثال بالا، می‌توانیم ببینیم که فهرست مقادیر درون دیکشنری خود را با موفقیت بازیابی کرده‌ایم. با چاپ لیست به دست آمده و بررسی خروجی می توانیم تأیید کنیم که مقادیر را به درستی بازیابی کرده ایم.

بررسی اندازه Dictionary در سی شارپ

برای بدست آوردن تعداد عناصر موجود در Dictionary می‌توانیم از ویژگی «Count» مانند مثال زیر استفاده کنیم:

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
Console.WriteLine(myDict.Count);
Output:
3

در مثال بالا، می بینیم که ما چند عنصر را به Dictionary خود اضافه و سپس نتیجه ویژگی count در Dictionary خود را چاپ کرده ایم.

بررسی وجود یک Key یا کلید خاص در Dictionary در سی شارپ

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

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
Console.WriteLine(myDict.ContainsKey(1));
Console.WriteLine(myDict.ContainsKey(2));
Output:
True
False

در مثال بالا، می بینیم که ما چند عنصر را به Dictionary خود اضافه و سپس برای بررسی اینکه آیا Dictionary ما حاوی Key های «1» و «2» است یا خیر نتایج توابع ()ContainsKey را چاپ کرده ایم.

بررسی وجود یک Value یا مقدار خاص در Dictionary در سی شارپ

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

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
Console.WriteLine(myDict.ContainsValue("One"));
Console.WriteLine(myDict.ContainsValue("Two"));
Output:
True
False

در مثال بالا، می بینیم که ما چند عنصر را به Dictionary خود اضافه و سپس برای بررسی اینکه آیا Dictionary ما حاوی Value های «one» و «two» است یا خیر نتایج توابع ()ContainsValue را چاپ کرده ایم.

حذف یک عنصر از Dictionary در سی شارپ

برای حذف یک عنصر از Dictionary می توانیم از تابع ()Remove مانند مثال زیر استفاده کنیم:

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
myDict.Remove(1);
foreach(var element in myDict)
{
    Console.WriteLine(element.Key + ": " + element.Value);
}
Output:
4: Four
17: Seventeen

در مثال بالا، می بینیم که ما چند عنصر را به Dictionary خود اضافه و سپس از تابع ()Remove برای حذف عنصر با کلید '1'  استفاده کرده ایم. با چاپ Dictionary و بررسی خروجی، می‌توانیم تأیید کنیم که عنصر مربوطه را با موفقیت حذف کرده‌ایم.

پاک کردن Dictionary در سی شارپ

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

Dictionary<int, string> myDict = new Dictionary<int, string>();
myDict.Add(1, "One");
myDict.Add(4, "Four");
myDict.Add(17, "Seventeen");
myDict.Clear();
foreach(var element in myDict)
{
   Console.WriteLine(element.Key + ": " + element.Value);
}
Output:

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

نتیجه گیری

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

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

Response Caching در ASP.NET Core

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

688 0 1402/10/22

Output Caching در ASP.NET Core 8.0

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

748 0 1402/10/14

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

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

706 2 1402/10/01

ViewComponent در ASP.NET Core

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

1٬475 2 1402/05/15

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

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

909 1 1402/04/05

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

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

2٬004 1 1402/02/04

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

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

1٬545 1 1401/12/29

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

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

1٬679 1 1401/10/28

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

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

2٬263 2 1401/09/01

Garbage Collection در دات نت

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

2٬862 5 1401/03/30

.NET Core چیست؟

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

2٬621 2 1401/03/16

تفاوت Hashtable و Dictionary در سی شارپ

در سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به تفاوت های Hashtable و Dictionary پرداخته شده است.

1٬872 2 1401/02/23
نظرات

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