현재 변환을 대체 할 코드를 리팩터링하고 있습니다. TryParse를 사용합니다.TryParse를 사용하여 객체 속성 값 설정
개체에 속성을 만들고 할당하는 다음 코드를 보았습니다. 내가 무슨 짓을했는지에
var p = new Person { RecordID = Int32.TryParse(row["ContactID"].ToString(), out RecordID) ? RecordID : RecordID };
어떤 생각, 의견, 대안 : 나는 대체 그대로을 마련했습니다 무엇
List<Person> list = new List<Person>();
foreach (DataRow row in dt.Rows)
{
var p = new Person{ RecordID = Convert.ToInt32(row["ContactID"]) };
list.Add(p);
}
?
읽을 수는 없지만 작동하는 경우 ...... – DilbertDave
나는 Dilbert에 동의합니다. 한 줄짜리 기사는 읽기가 더 어려우며 편집을 시도하거나 디버깅을 단계별로 수행하는 것이 고통 스럽습니다. TryParse는 개선 된 것처럼 들립니다. – DOK
ContactID는 데이터베이스의 기본 키이므로 Int32 로의 변환은 항상 성공합니다. TryParse의 사용은 코드의 관리자에게 오해의 소지가 있습니다. 변환이 때때로 실패 할 수 있다는 것을 의미하기 때문에 그렇습니다. 나는 Convert.ToInt32를 고집 할 것이다. –