我目前正在重构代码以将Convert.To替换为TryParse.
我遇到了以下一些代码,它们创建并为对象分配属性.
Listlist = new List (); 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 };
有什么想法,意见,替代我做过的事情?
写一个扩展方法.
public static Int32? ParseInt32(this string str) { Int32 k; if(Int32.TryParse(str, out k)) return k; return null; }