MSDN говорит, что нам нужно преобразовать StringBuilder
объект в string
, но StringBuilder
работает нормально? Зачем нам конвертировать?Почему мы должны использовать метод ToString с помощью 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 для StringBuilder arg. Таким образом, он просто вызывает объект Object arg, а затем использует .ToString() внутренне, поэтому они оба делают то же самое. – acrilige
Вам не нужно использовать '.ToString()', если вы специально вызываете 'Console.WriteLine', но вы будут нуждаться в этом почти для всех остальных. – Jon