Por que não usou Console.WriteLine(Regex.Match(textoDeTeste, padrao)); ao invés de Match resultado = Regex.Match(textoDeTeste, padrao); Console.WriteLine(resultado.Value); ?
Por que não usou Console.WriteLine(Regex.Match(textoDeTeste, padrao)); ao invés de Match resultado = Regex.Match(textoDeTeste, padrao); Console.WriteLine(resultado.Value); ?
Oi, Roberta. Tudo bom?
Ficar encadeando resultado de chamada de método em argumento de outra chamada de método tende ao caos.
Na maioria dos casos, é preferível usar uma variável para guardar o resultado de uma chamada e então usar esta variável como argumento da próxima chamada:
Match resultado = Regex.Match(textoDeTeste, padrao);
Console.WriteLine(resultado.Value);
Além disso, usei a propriedade Value
para mostrar esta propriedade da classe Match
. Quando você chama o WriteLine com um objeto diferente de string/int/double/float/etc. o método chama o ToString
e, no caso, resultado.ToString()
retorna a propriedade Value
.
De qualquer modo, eu tenho a tendência a utilizar sempre a propriedade, porque deixo bastante explícito no código o que estou fazendo: estou utilizando a propriedade Value
.
Usar apenas Match
obriga o eu do futuro lembrar que o ToString retorna Value
e obriga as outras pessoas que trabalham comigo saberem disso e não pensarem que foi um erro no meu código.
O que você acha?
Ótimo! É porque em geral em suas aulas você mostra alguma forma de fazer e em seguida mostra uma outra forma melhor, ou por convenção ou por ser a melhor prática. Obrigada!