學習軌道
/
C#
C#
/
練習
/
日誌等級
日誌等級

日誌等級

學習練習

簡介

字串

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!"

說明

在這個練習中,你會處理日誌行。

每一行日誌都是一個格式如下的字串:"[<LEVEL>]: <MESSAGE>"。

日誌層級有三種:

  • INFO
  • WARNING
  • ERROR

你有三個任務,每個任務都會取一行日誌,並要你對它做點處理。

1. 從日誌行取得訊息

實作(static)LogLine.Message()方法,回傳日誌行的訊息:

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

開頭或結尾的空白都應該移除:

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

2. 從日誌行取得日誌層級

實作(static)LogLine.LogLevel()方法,回傳日誌行的日誌層級,且應該以小寫回傳:

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

3. 重新格式化日誌行

實作(static)LogLine.Reformat()方法,重新格式化日誌行,把訊息放在前面,並在後面用括號附上日誌層級:

LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
C# Exercism

準備好開始 日誌等級 了嗎?

註冊 Exercism,透過 62 個概念178 個練習 和真人引導來學習並精通 C#,全部免費。