Dictionary:
- الـ Dictionary في C# شبيهة بالقاموس.
- بتخزن البيانات عن طريق Key و Value.
- يعني بدل ما توصل للبيانات باستخدام Index زي الليست، بتستخدم Key عشان تجيب Value
- بيستخدم الـ Hashing
إزاي بنكتب الـ Dictionary؟
الكود ده بيوضح إزاي ممكن تعرف Dictionary وتستخدمها:
Dictionary<string, string> passwords = new Dictionary<string, string>();
// (Key), (Value)
passwords.Add("Gmail", "mysecretpassword");
passwords.Add("Facebook", "mypassword");
// قراءة قيمة باستخدام المفتاح
Console.WriteLine(passwords["Gmail"]);
// Output: mysecretpassword
الـOperations على Dictionary:
تقدر تضيف، تشيل، وتدور على البيانات باستخدام Key بدل ما تستخدم Index. وده بيدي الـ Dictionary مرونة كبيرة.
مثال:
// التأكد إذا كان المفتاح موجود قبل الإضافة
if (!passwords.ContainsKey("Gmail"))
{
passwords.Add("Gmail", "anotherpassword");
}
// إزالة عنصر باستخدام المفتاح
passwords.Remove("Facebook");
لازم أتأكد الأول الـ Key موجود ولا لا لو استخدمتها بالطريقة العادية
TryGetValue
:
لو مش متأكد إذا كان المفتاح موجود ولا لأ، تقدر تستخدم TryGetValue
بدل ما تستخدم ContainsKey
وتعملها في خطوة واحدة.
مثال:
if (passwords.TryGetValue("Gmail", out string password))
{
Console.WriteLine(password); // Output: mysecretpassword
}
else
{
Console.WriteLine("Password not found");
}
الخلاصة:
- الـDictionary بتستخدم لما تكون عايز تخزن بيانات وتوصل لها باستخدام Key بدل Index