Postagens

Mostrando postagens de Fevereiro, 2012

Mau uso do TryParse...

Abaixo está uma pérola onde vemos o uso incorreto do método TryParse. Temos uma string, lida de um arquivo, que contém informação de data, e é necessário colocá-la em um objeto do tipo DateTime. Veja como foi feito abaixo.
public DateTime ObterDataControle() { DateTime dt = DateTime.MinValue; if (File.Exists(_caminhoArquivo)) { StreamReader sr = new StreamReader(_caminhoArquivo); try { string dateString = sr.ReadLine(); if (DateTime.TryParse(dateString, out dt)) dt = Convert.ToDateTime(dateString); } finally { sr.Close(); } } return dt; }
O método TryParse retorna um bool, que indica se foi possível converter a string para o determinado tipo. Só que quando é possível efetuar a conversão, este método já coloca o valor no parâmetro que ele recebe de output. Não é necessário fazer (como foi feito no código) uma nova conversão do valor. A linha dt = Convert.ToDat…