المسارات
/
C#
C#
/
التمارين
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

تمرين تعلّمي

مقدمة

الأنواع العامة

تعريف المجموعة يتضمن عادةً عنصرًا نائبًا بين قوسين زاويين، ويكون T غالبًا بحكم الاصطلاح. وتُسمى هذه المجموعة نوعًا عامًا. وهذا يسمح لمستخدم المجموعة بتحديد نوع العناصر التي ستُخزَّن فيها. في مثال الكود أدناه نُنشئ قائمة من السلاسل النصية.

القوائم

القوائم في C# هي مجموعات من القيم الأولية أو من نسخ البنيات أو الأصناف. وهي مُنفَّذة في مكتبة الفئات الأساسية باسم List<T>، حيث T هو نوع العنصر في القائمة. وتوفّر API مجموعة غنية من الطرق لإنشاء القوائم والتعامل معها.

يمكن إضافة العناصر إلى القوائم وإزالتها منها. وهي تنمو وتتقلص حسب الحاجة.

var listOfStrings = new List<string>();

التعليمات

في هذا التمرين ستكتب كودًا لتتبّع مصفوفة من لغات البرمجة التي تريد تعلّمها على Exercism.

لديك تسع مهام، وكلها ستتضمّن التعامل مع المصفوفات.

1. إنشاء مصفوفة جديدة

لتتبّع اللغات التي تريد تعلّمها، ستحتاج إلى إنشاء مصفوفة جديدة.

نفّذ الطريقة static المسماة Languages.NewList() التي تُرجع مصفوفة جديدة فارغة.

Languages.NewList()
// => empty list

2. تعريف مصفوفة موجودة

حاليًا، لديك ورقة مكتوب عليها اللغات التي تريد تعلّمها: C# وClojure وElm.

من فضلك نفّذ الطريقة static المسماة Languages.GetExistingLanguages() لتُرجع المصفوفة.

Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}

3. إضافة لغة جديدة إلى مصفوفة

بينما تستكشف Exercism وتجد لغات أكثر إثارة للاهتمام، تريد إضافتها إلى مصفوفتك.

نفّذ الدالة static المسماة Languages.AddLanguage() لإضافة لغة جديدة إلى نهاية مصفوفتك.

Languages.AddLanguage(Languages.GetExistingLanguages(), "VBA");
// => {"C#", "Clojure", "Elm", "VBA"}

4. عدّ اللغات في المصفوفة

عدّ اللغات واحدة تلو الأخرى أمر غير مريح.

نفّذ الطريقة static المسماة Languages.CountLanguages() لعدّ عدد اللغات في مصفوفتك.

Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3

5. التحقق مما إذا كانت لغة ما في المصفوفة

نفّذ الطريقة static المسماة Languages.HasLanguage() للتحقق مما إذا كانت لغة ما موجودة.

Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true

6. عكس المصفوفة

في مرحلة ما، تدرك أن مصفوفتك مرتّبة بالعكس في الواقع!

نفّذ الطريقة static المسماة Languages.ReverseList() لعكس مصفوفتك.

Languages.ReverseList(Languages.GetExistingLanguages())
// => {"Elm", "Clojure", "C#"}

7. التحقق مما إذا كانت المصفوفة مثيرة

مع أنك تحب جميع اللغات، فإن لـ C# مكانة خاصة في قلبك. ولهذا، تتحمّس كثيرًا لمصفوفة من اللغات إذا تحقق أحد الشرطين التاليين:

  • أن تكون اللغة الأولى في المصفوفة هي C#.
  • أن تكون اللغة الثانية في المصفوفة هي C# وتحتوي المصفوفة على لغتين أو ثلاث لغات.

نفّذ الطريقة static المسماة Languages.IsExciting() للتحقق مما إذا كانت مصفوفة اللغات مثيرة:

Languages.IsExciting(Languages.GetExistingLanguages())
// => true

8.إزالة لغة

من فضلك نفّذ الطريقة static المسماة Languages.RemoveLanguage() لإزالة لغة محددة من المصفوفة.

Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }

9. التحقق مما إذا كانت كل اللغات في المصفوفة فريدة

من فضلك نفّذ الطريقة static المسماة Languages.IsUnique() للتحقق مما إذا كانت أي من اللغات متكررة في المصفوفة.

المصفوفة (أي المعامل) مضمون ألّا تكون فارغة عند استدعاء هذه الطريقة، ولا يهم ما إذا تم تعديل المصفوفة.

Languages.IsUnique(Languages.GetExistingLanguages())
// => true
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
C# Exercism

مستعد لبدء Tracks on Tracks on Tracks؟

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