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 پرداختیم.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید