c# - 什么是最好的 Convert.ToString() 或只是连接一个空字符串?

标签 c#

var item = "" + dr["someString"];

或者

var item = Convert.ToString(dr["somestring"]);

上述示例对性能有何影响?

最佳答案

怎么样:

var item = (string)dr["someString"] ?? "";

这避免了不必要的串联、不必要的虚拟调用,并避免了在空引用上调用方法的风险。不清楚在这种情况下 dr 是什么;如果它是数据读取器(IDataReader 等),您可能需要:

int index = dr.GetOrdinal("someString");
var item = dr.IsDBNull(index) ? "" : dr.GetString(index);

或者在 DataTable 的情况下,涉及 DataRow.IsNull

关于c# - 什么是最好的 Convert.ToString() 或只是连接一个空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9633482/

相关文章:

c# - 比较表达式的正则表达式

C# : How to indicate that a supposedly unused method is being used from outside the project?

c# - DataReader 不返回任何行——行存在于数据库中

javascript 转义字符串未使用 c# regex.Unescape() 进行转义

c# - 抛接逻辑

c# - 线程中join和await的区别

c# - 如何在 C# 中按特定条件按属性对对象列表<t>进行排序

c# - 如何在 .Net 核心 API Controller 中添加扩展方法

c# - 两因素谷歌身份验证与服务器上的代码不匹配 - ASP.Net MVC

java - 将子对象分配给基础是可能的,但如果对集合执行相同的操作,则不可能