gpt4 book ai didi

c# - 为什么我们应该将 ToString 方法与 StringBuilder 一起使用?

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

MSDN 说我们需要将 StringBuilder 对象转换为 string,但是 StringBuilder 工作正常吗?我们为什么要转换?

string[] spellings = { "hi", "hiii", "hiae" };

StringBuilder Builder = new StringBuilder();

int counter = 1;

foreach (string value in spellings)
{
Builder.AppendFormat("({0}) Which is Right spelling? {1}", counter, value);
Builder.AppendLine();
counter++;
}

Console.WriteLine(Builder); // Works Perfectly
//Why should i use tostring like below
Console.WriteLine(Builder.ToString());
// Does it make any difference in above two ways.

Console.ReadLine();

最佳答案

这两个调用使用不同的 Console.WriteLine 重载:WriteLine(Object)WriteLine(String) .

WriteLine(object) 重载调用“...调用 value 的 ToString 方法以生成其字符串表示形式,并将生成的字符串写入标准输出流。” ( msdn )

编辑

我在这里看到的唯一区别是:

StringBuilder sb = null;
Console.WriteLine(sb); // prints terminator
Console.WriteLine(sb.ToString()); // throws NullReferenceException

关于c# - 为什么我们应该将 ToString 方法与 StringBuilder 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099455/

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