var item = "" + dr["someString"];
Run Code Online (Sandbox Code Playgroud)
要么
var item = Convert.ToString(dr["somestring"]);
Run Code Online (Sandbox Code Playgroud)
上述示例的性能影响是什么?
怎么样:
var item = (string)dr["someString"] ?? "";
Run Code Online (Sandbox Code Playgroud)
这避免了不必要的连接,不必要的虚拟调用,并避免了在空引用上调用方法的风险.目前尚不清楚dr这方面的情况; 如果它是数据阅读器(IDataReader等),您可能需要:
int index = dr.GetOrdinal("someString");
var item = dr.IsDBNull(index) ? "" : dr.GetString(index);
Run Code Online (Sandbox Code Playgroud)
或者在DataTable涉及的情况下DataRow.IsNull.