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>"。
日誌層級有三種:
INFOWARNINGERROR你有三個任務,每個任務都會取一行日誌,並要你對它做點處理。
實作(static)LogLine.Message()方法,回傳日誌行的訊息:
LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"
開頭或結尾的空白都應該移除:
LogLine.Message("[WARNING]: Disk almost full\r\n")
// => "Disk almost full"
實作(static)LogLine.LogLevel()方法,回傳日誌行的日誌層級,且應該以小寫回傳:
LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"
實作(static)LogLine.Reformat()方法,重新格式化日誌行,把訊息放在前面,並在後面用括號附上日誌層級:
LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"