Um string em C# é um objeto que representa texto imutável como uma sequência de caracteres Unicode (letras, dígitos, pontuação etc.). Aspas duplas são usadas para definir uma instância de string:
string fruit = "Apple";
As strings são manipuladas chamando os métodos internos da string. Por exemplo, para remover os espaços em branco de uma string, você pode usar o método Trim assim:
string name = " Jane "
name.Trim()
// => "Jane"
Depois que uma string é criada, seu valor nunca pode mudar. Qualquer método que pareça modificar uma string na verdade retorna uma nova string.
Várias strings podem ser concatenadas (somadas). A forma mais simples de fazer isso é usando o operador +.
string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"
Para qualquer formatação de string mais complexa que uma simples concatenação, prefira a interpolação de strings. Para usar interpolação em uma string, coloque o símbolo de cifrão ($) antes dela. Depois, você pode usar chaves ({}) para acessar qualquer variável dentro da sua string.
string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"
Neste exercício, você vai processar linhas de log.
Cada linha de log é uma string formatada assim: "[<LEVEL>]: <MESSAGE>".
Existem três níveis de log diferentes:
INFOWARNINGERRORVocê tem três tarefas, e cada uma delas recebe uma linha de log e pede que você faça algo com ela.
Implemente o método (static) LogLine.Message() para retornar a mensagem de uma linha de log:
LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"
Qualquer espaço em branco no início ou no final deve ser removido:
LogLine.Message("[WARNING]: Disk almost full\r\n")
// => "Disk almost full"
Implemente o método (static) LogLine.LogLevel() para retornar o nível de log de uma linha de log, que deve ser retornado em minúsculas:
LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"
Implemente o método (static) LogLine.Reformat() que reformata a linha de log, colocando a mensagem primeiro e o nível de log depois dela entre parênteses:
LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
Crie sua conta no Exercism para aprender e dominar C# com 62 conceitos178 exercícios e mentoria humana de verdade, tudo de graça.