Csharp/C Sharp/Language Basics/StringBuffer StringBuilder
Содержание
- 1 Demonstrating StringBuilder AppendFormat
- 2 illustrates the use of StringBuilder objects
- 3 Replace(): replace part of myStringBuilder
- 4 StringBuffer: Replacing Characters
- 5 StringBuilder AppendFormat() method to add a formatted string containing a floating point number to myStringBuilder
- 6 StringBuilder append: int, char, string, boolean at specific position
- 7 StringBuilder EnsureCapacity method
- 8 StringBuilder foreach
- 9 StringBuilder Insert(): insert strings into myStringBuilder
- 10 StringBuilder"s properties for different constructors
- 11 StringBuilder: write line
- 12 ToString(): convert myStringBuilder to a string
- 13 Use the Remove() method to remove part of StringBuilder
Demonstrating StringBuilder AppendFormat
<source lang="csharp">
using System; using System.Text; class StringBuilderAppendFormat { static void Main(string[] args) { StringBuilder buffer = new StringBuilder(); string string1, string2; string1 = "This {0} costs: {1:C}.\n"; object[] objectArray = new object[ 2 ]; objectArray[ 0 ] = "Software"; objectArray[ 1 ] = 1234.56; buffer.AppendFormat( string1, objectArray ); string2 = "Number:{0:d3}.\n" + "Number right aligned with spaces:{0, 4}.\n" + "Number left aligned with spaces:{0, -4}."; buffer.AppendFormat( string2, 5 ); Console.WriteLine(buffer.ToString()); } } </source>
illustrates the use of StringBuilder objects
<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110
- /
/*
Example9_2.cs illustrates the use of StringBuilder objects
- /
using System; using System.Text; public class Example9_2 {
public static void DisplayProperties( string name, StringBuilder myStringBuilder ) { // display the properties for the StringBuilder object Console.WriteLine(name + ".Length = " + myStringBuilder.Length); Console.WriteLine(name + ".Capacity = " + myStringBuilder.Capacity); Console.WriteLine(name + ".MaxCapacity = " + myStringBuilder.MaxCapacity); }
public static void Main() { // create some StringBuilder objects StringBuilder myStringBuilder = new StringBuilder(); int capacity = 50; StringBuilder myStringBuilder2 = new StringBuilder(capacity); int maxCapacity = 100; StringBuilder myStringBuilder3 = new StringBuilder(capacity, maxCapacity); string myString = "To be or not to be"; StringBuilder myStringBuilder4 = new StringBuilder(myString); int startIndex = 0; int stringLength = myString.Length; StringBuilder myStringBuilder5 = new StringBuilder(myString, startIndex, stringLength, capacity); // display the StringBuilder objects" properties DisplayProperties("myStringBuilder", myStringBuilder); DisplayProperties("myStringBuilder2", myStringBuilder2); DisplayProperties("myStringBuilder3", myStringBuilder3); DisplayProperties("myStringBuilder4", myStringBuilder4); DisplayProperties("myStringBuilder5", myStringBuilder5); // use the Append() method to append two strings, an int, and a bool // to myStringBuilder myStringBuilder.Append(myString); myStringBuilder.Append(", that is the question ... "); int myInt = 1234; myStringBuilder.Append(myInt); bool myBool = true; myStringBuilder.Append(myBool); // use the Append() method to append a character to myStringBuilder myStringBuilder.Append("z", 5); // use the Append() method to append a substring to myStringBuilder myStringBuilder.Append("Here"s another string", 0, 4); // display the contents of myStringBuilder Console.WriteLine("myStringBuilder = " + myStringBuilder); // use the AppendFormat() method to add a formatted // string containing a floating point number to myStringBuilder float myFloat = 1234.56789f; myStringBuilder.AppendFormat("{0, 10:f3}", myFloat); Console.WriteLine("myStringBuilder = " + myStringBuilder); // use the Insert() method to insert strings into myStringBuilder myStringBuilder.Insert(6, "friends, "); myStringBuilder.Insert(22, "Romans, ", 3); Console.WriteLine("myStringBuilder = " + myStringBuilder); // use the Remove() method to remove part of myStringBuilder myStringBuilder.Remove(14, 7); Console.WriteLine("myStringBuilder = " + myStringBuilder); // use the Replace() method to replace part of myStringBuilder myStringBuilder.Replace(",", "?"); Console.WriteLine("myStringBuilder = " + myStringBuilder); // use the ToString() method to convert myStringBuilder // to a string string myString2 = myStringBuilder.ToString(); Console.WriteLine("myString2 = " + myString2); }
}
</source>
Replace(): replace part of myStringBuilder
<source lang="csharp"> using System; using System.Text;
class Test {
public static void Main() { StringBuilder myStringBuilder = new StringBuilder("1234567890abcdefghijklmnopqret"); myStringBuilder.Replace("a", "?"); Console.WriteLine("myStringBuilder = " + myStringBuilder); }
}
</source>
StringBuffer: Replacing Characters
<source lang="csharp"> /*
* C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: */
using System; using System.Text; namespace Client.Chapter_6___Strings {
public class ReplacingCharacters { static void Main(string[] args) { StringBuilder MyString = new StringBuilder("AAAAABBB"); Console.WriteLine(MyString); MyString.Replace("A", "F"); Console.WriteLine(MyString); } }
}
</source>
StringBuilder AppendFormat() method to add a formatted string containing a floating point number to myStringBuilder
<source lang="csharp"> using System; using System.Text;
class Test {
public static void Main() { StringBuilder myStringBuilder = new StringBuilder(); float myFloat = 1234.56789f; myStringBuilder.AppendFormat("{0, 10:f3}", myFloat); Console.WriteLine("myStringBuilder = " + myStringBuilder); }
}
</source>
StringBuilder append: int, char, string, boolean at specific position
<source lang="csharp"> using System; using System.Text;
class Test {
public static void Main() { StringBuilder myStringBuilder = new StringBuilder(); string myString = "www.nfex.ru"; myStringBuilder.Append(myString); myStringBuilder.Append(", www.nfex.ru... "); int myInt = 1234; myStringBuilder.Append(myInt); bool myBool = true; myStringBuilder.Append(myBool); myStringBuilder.Append("z", 5); myStringBuilder.Append("Here"s another string", 0, 4); Console.WriteLine("myStringBuilder = " + myStringBuilder); }
}
</source>
StringBuilder EnsureCapacity method
<source lang="csharp">
using System; using System.Text; class StringBuilderFeatures { static void Main(string[] args) { StringBuilder buffer =new StringBuilder( "Hello, how are you?" ); string output = "buffer = " + buffer.ToString() + "\nLength = " + buffer.Length + "\nCapacity = " + buffer.Capacity; buffer.EnsureCapacity( 75 ); output += "\n\nNew capacity = " +buffer.Capacity; // truncate StringBuilder by setting Length property buffer.Length = 10; output += "\n\nNew length = " + buffer.Length + "\nbuffer = "; // use StringBuilder indexer for ( int i = 0; i < buffer.Length; i++ ) output += buffer[ i ]; Console.WriteLine( output); } }
</source>
StringBuilder foreach
<source lang="csharp"> using System; using System.Text; public class StringBuilderDemo {
public static void Main() { string s = "I will not buy this record, it is scratched"; char[] separators = new char[] {" ", ","}; StringBuilder sb = new StringBuilder(); int number = 1; foreach (string sub in s.Split(separators)) { sb.AppendFormat("{0}: {1} ", number++, sub); } Console.WriteLine("{0}", sb); }
}
</source>
StringBuilder Insert(): insert strings into myStringBuilder
<source lang="csharp"> using System; using System.Text;
class Test {
public static void Main() { StringBuilder myStringBuilder = new StringBuilder("asdfasdfadsf"); myStringBuilder.Insert(6, "friends, "); myStringBuilder.Insert(2, "Romans, ", 3); Console.WriteLine("myStringBuilder = " + myStringBuilder); }
}
</source>
StringBuilder"s properties for different constructors
<source lang="csharp"> using System; using System.Text;
class Test {
public static void DisplayProperties(string name,StringBuilder myStringBuilder) { // display the properties for the StringBuilder object Console.WriteLine(name + ".Length = " + myStringBuilder.Length); Console.WriteLine(name + ".Capacity = " + myStringBuilder.Capacity); Console.WriteLine(name + ".MaxCapacity = " + myStringBuilder.MaxCapacity); } public static void Main() { StringBuilder myStringBuilder = new StringBuilder(); int capacity = 50; StringBuilder myStringBuilder2 = new StringBuilder(capacity); int maxCapacity = 100; StringBuilder myStringBuilder3 = new StringBuilder(capacity, maxCapacity); string myString = "www.nfex.ru"; StringBuilder myStringBuilder4 = new StringBuilder(myString); int startIndex = 0; int stringLength = myString.Length; StringBuilder myStringBuilder5 = new StringBuilder(myString, startIndex, stringLength, capacity); // display the StringBuilder objects" properties DisplayProperties("myStringBuilder", myStringBuilder); DisplayProperties("myStringBuilder2", myStringBuilder2); DisplayProperties("myStringBuilder3", myStringBuilder3); DisplayProperties("myStringBuilder4", myStringBuilder4); DisplayProperties("myStringBuilder5", myStringBuilder5); }
}
</source>
StringBuilder: write line
<source lang="csharp"> using System; using System.Text; public class SampleBuilder {
public static void Main() { StringBuilder sb = new StringBuilder("test string"); int length = 0; length = sb.Length; Console.WriteLine("The result is: "{0}"", sb); Console.WriteLine("The length is: {0}", length); sb.Length = 4; length = sb.Length; Console.WriteLine("The result is: "{0}"", sb); Console.WriteLine("The length is: {0}", length); sb.Length = 20; length = sb.Length; Console.WriteLine("The result is: "{0}"", sb); Console.WriteLine("The length is: {0}", length); }
}
</source>
ToString(): convert myStringBuilder to a string
<source lang="csharp"> using System; using System.Text;
class Test {
public static void Main() { StringBuilder myStringBuilder = new StringBuilder("1234567890abcdefghijklmnopqret"); string myString2 = myStringBuilder.ToString(); Console.WriteLine("myString2 = " + myString2); }
}
</source>
Use the Remove() method to remove part of StringBuilder
<source lang="csharp"> using System; using System.Text;
class Test {
public static void Main() { StringBuilder myStringBuilder = new StringBuilder("1234567890abcdefghijklmnopqret"); myStringBuilder.Remove(14, 7); Console.WriteLine("myStringBuilder = " + myStringBuilder); }
}
</source>