المسارات
/
C#
C#
/
التمارين
/
صلاحيات المطوّر
صلاحيات المطوّر

صلاحيات المطوّر

تمرين تعلّمي

مقدمة

مُهيّئات الكائنات

مُهيّئات الكائنات بديل عن المنشئات. يوضّح المثال التالي صياغتها. حيث تقدّم قائمة من أزواج الاسم والقيمة مفصولة بفواصل، يفصل بين الاسم والقيمة فيها علامة =، وتوضع كلها داخل أقواس معقوفة:

public class Person
{
    public string Name;
    public string Address;
}

var person = new Person{Name="The President", Address = "Élysée Palace"};

يمكن تهيئة المجموعات بالأسلوب نفسه أيضًا. وعادةً ما يتم ذلك باستخدام قوائم مفصولة بفواصل كما هو موضّح هنا:

IList<Person> people = new List<Person>{ new Person(), new Person{Name="Joe Shmo"}};

أما القواميس فتستخدم الصياغة التالية:

IDictionary<int, string> numbers = new Dictionary<int, string>{ [0] = "zero", [1] = "one"...};

// or

IDictionary<int, string> numbers = new Dictionary<int, string>{ {0, "zero" }, {1,  "one"}...};

التعليمات

طُلب منك القيام بمزيد من العمل على نظام المصادقة على الشبكة.

بالإضافة إلى تضمين هوية المسؤول مباشرةً في النظام أثناء التطوير، تريد الجهات المسؤولة أيضًا أن يحصل المطوّرون الأقدم على المعاملة نفسها.

1. خزّن تفاصيل مسؤول النظام مضمّنةً في النظام واجعلها متاحة للمستدعين.

تفاصيل المسؤول كما يلي:

البريد الإلكتروني لون العين عرض الوترة الاسم العنوان 1 العنوان 2
admin@ex.ism green 0.9 Chanakya Mumbai India

نفّذ الخاصية Authenticator.Admin لتُرجع تفاصيل هوية مسؤول النظام. يجب أن يكون الاسم وكل جزء من العنوان في عنصر منفصل من مصفوفة NameAndAddress.

var authenticator = new Authenticator();
authenticator.Admin;
// => {"admin@ex.ism", {"green", 0.9m}, ["Chanakya", "Mumbai", "India"]}

2. خزّن تفاصيل المطوّرين مضمّنةً في النظام واجعلها متاحة في صورة قاموس

تفاصيل المطوّرين كما يلي:

البريد الإلكتروني لون العين عرض الوترة الاسم العنوان 1 العنوان 2
bert@ex.ism blue 0.8 Bertrand Paris France
anders@ex.ism brown 0.85 Anders Redmond USA

نفّذ الخاصية Authenticator.Developers لتُرجع تفاصيل هوية المطوّرين. مفتاح القاموس هو اسم المطوّر.

var authenticator = new Authenticator();
authenticator.Developers;
// => ["Bertrand"] = {"bert@ex.ism", {"blue", 0.8m}, ["Bertrand", "Paris", "France"]},
// ["Anders"] = {"anders@ex.ism", {"brown", 0.85m}, ["Anders", "Redmond", "USA"]},

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
C# Exercism

مستعد لبدء صلاحيات المطوّر؟

سجّل في Exercism لتتعلّم وتتقن C# عبر 62 مفهومًا178 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.