TheDeveloperBlog.com


C# StringBuilder AppendFormat Method

AppendFormat is available on StringBuilder. With it we append different kinds of data—including string literals—to an underlying string buffer. With it we create code that is clearer to read and modify. It handles formatting strings.

StringBuilder Append

Example. This first example shows how to use a string literal to generate sentences in your StringBuilder. You can put parenthesis around values, which would be more confusing syntactically if you were to use string concatenation.

Tip: The core reason to use AppendFormat here is for clarity of the resulting code. It is clear to see what string data will be generated.

string.Concat
C# program that uses AppendFormat

using System;
using System.Text;

class Program
{
    static void Main()
    {
	StringBuilder builder = new StringBuilder();
	string[] data = { "Dot", "Net", "Perls" };
	int counter = 0;
	foreach (string value in data)
	{
	    builder.AppendFormat("You have visited {0} ({1}).\n",
		value,
		++counter);
	}
	Console.WriteLine(builder);
    }
}

Output

You have visited Dot (1).
You have visited Net (2).
You have visited Perls (3).


Example 2. Here we use the AppendFormat method on the StringBuilder type. Format strings in the C# language are a powerful of simplifying string changes for display. The AppendFormat method uses the same syntax.

Also: There are many advanced rules for string formatting, which are not covered in this document.

string.Format
Program 2: C#

using System;
using System.Text;

class Program
{
    static int[] _v = new int[]
    {
	1,
	4,
	6
    };

    static void Main()
    {
	StringBuilder b = new StringBuilder();
	foreach (int v in _v)
	{
	    b.AppendFormat("int: {0:0.0}{1}", v,
		Environment.NewLine);
	}
	Console.WriteLine(b.ToString());
    }
}

Output

int: 1.0
int: 4.0
int: 6.0


Summary. The StringBuilder AppendFormat method is useful for generating text based on a pattern. The method receives a variable number of arguments. We specified new lines in the AppendFormat method in both examples.

Note: For optimal code clarity, the AppendFormat method is ideal. It is not ideal for performance.