string у C# - це обʼєкт, який представляє незмінний рядок тексту (англ. string) як послідовність символів Unicode (літер, цифр, розділових знаків тощо). Для створення примірника 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!"
У цій вправі ми будемо обробляти рядки журналу.
Кожен рядок журналу - це рядок тексту (англ. string) такого формату: "[<LEVEL>]: <MESSAGE>".
Існує три різні рівні журналу:
INFOWARNINGERRORНа нас чекають три завдання, і кожне з них приймає рядок журналу та просить щось із ним зробити.
Реалізуйте (статичний) метод LogLine.Message(), який повертає повідомлення з рядка журналу:
LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"
Усі пробіли на початку та в кінці потрібно прибрати:
LogLine.Message("[WARNING]: Disk almost full\r\n")
// => "Disk almost full"
Реалізуйте (статичний) метод LogLine.LogLevel(), який повертає рівень журналу з рядка журналу. Рівень потрібно повертати в нижньому регістрі:
LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"
Реалізуйте (статичний) метод LogLine.Reformat(), який переформатовує рядок журналу: спочатку йде повідомлення, а після нього в дужках - рівень журналу:
LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.