gpt4 book ai didi

c# - 冗余 ToString 代码?

转载 作者:太空狗 更新时间:2023-10-30 00:11:21 27 4
gpt4 key购买 nike

我想知道:

编写这段代码:

 DataRow[] g = new DataRow[1] ;
var t=new StringBuilder().AppendFormat("{0}", g[0]["aaa"].ToString());

Resharper 显示为:(注意灰色)

enter image description here

enter image description here

请问3个问题

1) 删除 ToString() ,对象将如何在不调用已删除的 ToString() 的情况下输出其显示字符串?

2) 是否建议删除它,因为他已经在内部调用了它?还是因为其他原因?

3) 不删除 ToString() ,它会调用两次吗?

最佳答案

是的,它是多余的,因为 AppendFormat(如 String.Format)在内部已经将其转换为字符串并且 String.ToString 始终多余的。

实际上它使用了 ICustomFormatter.Format每个提供的参数的方法。

就无用而言也是多余的。因此,即使不需要多次执行任何工作(AppendFormat 不会尝试将字符串转换为字符串),这也是没有意义的,因为 AppendFormat 会执行 无论如何。因此,resharper 会尝试在此处简化您的代码。

关于c# - 冗余 ToString 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com