Percursos
/
C#
C#
/
Exercícios
/
Níveis de log
Níveis de log

Níveis de log

Exercício de aprendizagem

Introdução

Strings

Uma string em C# é um objeto que representa texto imutável como uma sequência de carateres Unicode (letras, algarismos, pontuação, etc.). As aspas duplas servem para definir uma instância de string:

string fruit = "Apple";

Métodos

As strings são manipuladas através dos métodos incorporados da string. Por exemplo, para remover os espaços em branco de uma string, podes usar o método Trim assim:

string name = " Jane "
name.Trim()
// => "Jane"

Uma vez construída, uma string nunca pode mudar de valor. Quaisquer métodos que pareçam modificar uma string devolvem, na verdade, uma nova string.

Concatenação

É possível concatenar (somar) várias strings umas com as outras. A forma mais simples de o fazer é usar o operador +.

string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"

Formatação

Para qualquer formatação de strings mais complexa do que uma simples concatenação, dá-se preferência à interpolação de strings. Para usar interpolação numa string, coloca o símbolo de dólar ($) antes dela. Depois, podes usar chavetas ({}) para aceder a quaisquer variáveis dentro da tua string.

string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"

Instruções

Neste exercício vais processar linhas de registo.

Cada linha de registo é uma string formatada da seguinte forma: "[<LEVEL>]: <MESSAGE>".

Existem três níveis de registo diferentes:

  • INFO
  • WARNING
  • ERROR

Tens três tarefas, cada uma das quais recebe uma linha de registo e pede-te para fazer algo com ela.

1. Obtém a mensagem de uma linha de registo

Implementa o método (static) LogLine.Message() para devolver a mensagem de uma linha de registo:

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

Qualquer espaço em branco no início ou no fim deve ser removido:

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

2. Obtém o nível de registo de uma linha de registo

Implementa o método (static) LogLine.LogLevel() para devolver o nível de registo de uma linha de registo, que deve ser devolvido em minúsculas:

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

3. Reformata uma linha de registo

Implementa o método (static) LogLine.Reformat() que reformata a linha de registo e coloca a mensagem primeiro e o nível de registo depois, entre parênteses:

LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
Editar via GitHub A ligação abre numa nova janela ou separador
C# Exercism

Estás pronto para começar Níveis de log?

Inscreve-te no Exercism para aprenderes e dominares C# com 62 conceitos178 exercícios, e mentoria humana real, tudo grátis.