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

Reply via email to