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>".
هناك ثلاثة مستويات سجل مختلفة:
INFOWARNINGERRORلديك ثلاث مهام، وكل مهمة تأخذ سطر سجل وتطلب منك أن تفعل به شيئًا.
نفّذ الطريقة LogLine.Message() (static) لتُرجع رسالة سطر السجل:
LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"
يجب إزالة أي مسافات بيضاء في البداية أو في النهاية:
LogLine.Message("[WARNING]: Disk almost full\r\n")
// => "Disk almost full"
نفّذ الطريقة LogLine.LogLevel() (static) لتُرجع مستوى السجل الخاص بسطر السجل، على أن يكون بأحرف صغيرة:
LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"
نفّذ الطريقة LogLine.Reformat() (static) التي تعيد تنسيق سطر السجل، فتضع الرسالة أولًا ويأتي مستوى السجل بعدها بين الأقواس الهلالية:
LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
سجّل في Exercism لتتعلّم وتتقن C# عبر 62 مفهومًا178 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.