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