المسارات
/
C#
C#
/
التمارين
/
مستويات السجل
مستويات السجل

مستويات السجل

تمرين تعلّمي

مقدمة

السلاسل النصية

string في C# هو كائن يمثّل نصًا غير قابل للتغيير على هيئة تسلسل من محارف يونيكود (حروف وأرقام وعلامات ترقيم وما إلى ذلك). تُستخدم علامات الاقتباس المزدوجة لتعريف كائن من string:

string fruit = "Apple";

الطرق

تُعالَج السلاسل النصية عن طريق استدعاء الطرق المدمجة الخاصة بها. على سبيل المثال، لإزالة المسافات البيضاء من سلسلة نصية، يمكنك استخدام الطريقة Trim هكذا:

string name = " Jane "
name.Trim()
// => "Jane"

بمجرد إنشاء سلسلة نصية، لا يمكن أن تتغير قيمتها أبدًا. أي طرق تبدو وكأنها تعدّل سلسلة نصية ستُرجع في الواقع سلسلة نصية جديدة.

الدمج

يمكن دمج عدة سلاسل نصية (إضافتها) معًا. أسهل أسلوب لتحقيق ذلك هو استخدام عامل +.

string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"

التنسيق

لأي تنسيق سلاسل نصية أكثر تعقيدًا من الدمج البسيط، يُفضَّل استخدام تداخل السلاسل النصية. لاستخدام التداخل في سلسلة نصية، ضع رمز الدولار ($) في بدايتها. ثم يمكنك استخدام الأقواس المعقوفة ({}) للوصول إلى أي متغيرات داخل السلسلة النصية.

string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"

التعليمات

في هذا التمرين ستتعامل مع أسطر السجل.

كل سطر سجل هو سلسلة نصية منسّقة على النحو التالي: "[<LEVEL>]: <MESSAGE>".

هناك ثلاثة مستويات سجل مختلفة:

  • INFO
  • WARNING
  • ERROR

لديك ثلاث مهام، وكل مهمة تأخذ سطر سجل وتطلب منك أن تفعل به شيئًا.

1. استخرج الرسالة من سطر سجل

نفّذ الطريقة LogLine.Message() (static) لتُرجع رسالة سطر السجل:

LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"

يجب إزالة أي مسافات بيضاء في البداية أو في النهاية:

LogLine.Message("[WARNING]:  Disk almost full\r\n")
// => "Disk almost full"

2. استخرج مستوى السجل من سطر سجل

نفّذ الطريقة LogLine.LogLevel() (static) لتُرجع مستوى السجل الخاص بسطر السجل، على أن يكون بأحرف صغيرة:

LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"

3. أعد تنسيق سطر سجل

نفّذ الطريقة LogLine.Reformat() (static) التي تعيد تنسيق سطر السجل، فتضع الرسالة أولًا ويأتي مستوى السجل بعدها بين الأقواس الهلالية:

LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
C# Exercism

مستعد لبدء مستويات السجل؟

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