Ian, Unfortunately, no. But AppendFormat(...) does.
We don't use StringBuilder too much internally, because the consensus has been (despite what the fine manual says and all the fine MCTs teach) that it's not any faster than catting (we've run some 100k and 1M iteration tests that seem to indicate that it's actually slower for our typical string cat case) *and* more importantly it is less readable/maintainable than the comparable string cat cases in C#. I'd love to see some code that I can run in-house that demonstrates the conventional wisdom about StringBuilder to be true, if anybody knows of some - that might restore some of my faith in humanity and/or our electoral process. :) Especially since my developer who was the most ardent anti-string builder campaigner has taken his soapbox elsewhere... Since I'm already messing around in SqlTask, I'll change those errant, embedded cats inside Append() calls to use AppendFormat() and I'll resend the patch in a few hours. > -----Original Message----- > From: Ian MacLean [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 16, 2003 11:04 PM > To: David Reed > Cc: [EMAIL PROTECTED] > Subject: Re: [NAntC-Dev] SqlTask verbosity patch and mysterious usage of > StringBuilder > > David, > You're probably right. Does Append support the {1} formatting syntax ? > Ian > > > Howdy'all, I'm working through the verbosity behavior in SqlTask to > > make it behave more like what I expected (please see the attached > > patch for your consideration) and I came across this additional > > oddity. Does it strike anybody else as defeating the purpose of using > > StringBuilder in the first place? I didn't change it in the attached > > patch, but it (although more readable that proper Append()s should be) > > has Code Smell(r) to me. :) > > > > > > > > Peoples' Exhibit 001a: > > > > > > > > if ( this.Verbose ) { > > > > StringBuilder message = new StringBuilder(); > > > > message.Append ("SQL Task:" + Environment.NewLine); > > > > message.Append ("Connection String: " + ConnectionString > > + Environment.NewLine); > > > > message.Append ("Use Transaction?: " + > > UseTransaction.ToString() + Environment.NewLine); > > > > message.Append ("Batch Sql Statements?: " + > > this.Batch.ToString() + Environment.NewLine); > > > > message.Append ("Batch Delimiter: " + this.Delimiter + > > Environment.NewLine); > > > > message.Append ("Delimiter Style: " + > > this.DelimiterStyle.ToString() + Environment.NewLine); > > > > message.Append ("Fail On Error?: " + > > this.FailOnError.ToString() + Environment.NewLine); > > > > message.Append ("Source script file: " + this.Source + > > Environment.NewLine); > > > > message.Append ("Output file: " + this.Output + > > Environment.NewLine); > > > > Log(Level.Info, message.ToString()); > > > > } > > > > > > > > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ NAntContrib-Developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer