Csharp/C Sharp/Language Basics/StringBuffer StringBuilder
Версия от 15:31, 26 мая 2010; (обсуждение)
Содержание
- 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
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());
}
}
illustrates the use of StringBuilder objects
/*
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);
}
}
Replace(): replace part of myStringBuilder
using System;
using System.Text;
class Test {
public static void Main() {
StringBuilder myStringBuilder = new StringBuilder("1234567890abcdefghijklmnopqret");
myStringBuilder.Replace("a", "?");
Console.WriteLine("myStringBuilder = " + myStringBuilder);
}
}
StringBuffer: Replacing Characters
/*
* 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);
}
}
}
StringBuilder AppendFormat() method to add a formatted string containing a floating point number to myStringBuilder
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);
}
}
StringBuilder append: int, char, string, boolean at specific position
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);
}
}
StringBuilder EnsureCapacity method
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);
}
}
StringBuilder foreach
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);
}
}
StringBuilder Insert(): insert strings into myStringBuilder
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);
}
}
StringBuilder"s properties for different constructors
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);
}
}
StringBuilder: write line
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);
}
}
ToString(): convert myStringBuilder to a string
using System;
using System.Text;
class Test {
public static void Main() {
StringBuilder myStringBuilder = new StringBuilder("1234567890abcdefghijklmnopqret");
string myString2 = myStringBuilder.ToString();
Console.WriteLine("myString2 = " + myString2);
}
}
Use the Remove() method to remove part of StringBuilder
using System;
using System.Text;
class Test {
public static void Main() {
StringBuilder myStringBuilder = new StringBuilder("1234567890abcdefghijklmnopqret");
myStringBuilder.Remove(14, 7);
Console.WriteLine("myStringBuilder = " + myStringBuilder);
}
}