Я в настоящее время реорганизую код для замены Convert.To's TryParse.Использование TryParse для установки значений свойств объекта
Я натолкнулся на следующий бит кода, который создает и присваивает свойство объекту.
List<Person> list = new List<Person>();
foreach (DataRow row in dt.Rows)
{
var p = new Person{ RecordID = Convert.ToInt32(row["ContactID"]) };
list.Add(p);
}
То, что я придумал, как замена:
var p = new Person { RecordID = Int32.TryParse(row["ContactID"].ToString(), out RecordID) ? RecordID : RecordID };
Любые мысли, мнения, альтернативы тому, что я сделал?
Не совсем то, что читаемо, но если оно работает ...... – DilbertDave 2008-11-12 14:21:24
Я согласен с Дилбертом. Я думаю, что однострочный слой сложнее читать, и было бы больно пытаться отредактировать или пройти через отладку. TryParse звучит как улучшение. – DOK 2008-11-12 14:26:54
Поскольку ContactID является первичным ключом в базе данных, преобразование в Int32 всегда будет успешным. Использование TryParse вводит в заблуждение для сопровождающего кода, поскольку это означает, что преобразование может иногда терпеть неудачу, что не так. Я бы придерживался Convert.ToInt32. – 2008-11-12 15:31:42