MSDN说我们需要将StringBuilder
对象转换为string
,但StringBuilder
工作正常吗? 我们为什么要转换?为什么我们应该使用StringBuilder的ToString方法?
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();
没有为StringBuilder的没有个Console.WriteLine覆盖所以它只是调用Object arg然后在内部使用.ToString(),所以它们都做同样的事情 – acrilige
如果明确调用Console.WriteLine,则不需要使用'.ToString()',但是你几乎所有其他的东西都需要它 – Jon