c# - Why we should use ToString method with StringBuilder? -
msdn says need convert stringbuilder object string, stringbuilder works fine? why should convert?
string[] spellings = { "hi", "hiii", "hiae" }; stringbuilder builder = new stringbuilder(); int counter = 1; foreach (string value in spellings) { builder.appendformat("({0}) right spelling? {1}", counter, value); builder.appendline(); counter++; } console.writeline(builder); // works //why should use tostring below console.writeline(builder.tostring()); // make difference in above 2 ways. console.readline();
these 2 calls use different console.writeline overloads: writeline(object) , writeline(string).
and writeline(object) overload calls "... tostring method of value called produce string representation, , resulting string written standard output stream." (msdn)
edit
the difference here can see is:
stringbuilder sb = null; console.writeline(sb); // prints terminator console.writeline(sb.tostring()); // throws nullreferenceexception
Comments
Post a Comment