Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Improving StringBuilder Performance
|
75
occurs by explicitly defining the size of the new memory using either of two tech-
niques. The first approach is to set this value when the
StringBuilder class construc-
tor is called. For example, the code:
StringBuilder sb = new StringBuilder(200);
specifies that a StringBuilder object can hold 200 characters before new memory
must be allocated.
The second approach is to change the value after the
StringBuilder object has been
created, using one of the following properties or methods of the
StringBuilder
object:
sb.Capacity = 200;
sb.EnsureCapacity(200);
Discussion
As noted in previous recipes in this chapter, the String class is immutable; once a
string is assigned to a variable of type
string, the string pointed to by that variable
cannot be changed in any way. So changing the contents of a string variable entails
the creation of a new
string containing the modified string. The reference variable of
type
string must then be changed to reference this newly created string object. The
old
string object will eventually be marked for collection by the garbage collector,
and, subsequently, its memory will be freed. Because of this busy behind-the-scenes
action, code that performs intensive string manipulations using the
String class suf-
fers greatly from having ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata