Recipe 2.17 Creating a Delimited String
Problem
You have an array of strings
to format as delimited text and possibly to store in a text file.
Solution
Using
the static Join method of the
string class, the array of strings can be easily
joined in as little as one line of code. For example:
string[] infoArray = new string[5] {"11", "12", "Checking", "111", "Savings"};
string delimitedInfo = string.Join(",", infoArray);
This code sets the value of delimitedInfo to the
following:
11,12,Checking,111,Savings
Discussion
The Join method concatenates all the strings
contained in a string array. Additionally, a specified delimiting
character(s) is inserted between each string in the array. This
method returns a single string object with the fully joined and
delimited text.
Unlike the Split method of the
string class, the Join method
accepts only one delimiting character at a time. In order to use
multiple delimiting characters within a string of values, subsequent
Join operations must be performed on the
information until all of the data has been joined together into a
single string. For example:
string[] infoArray = new string[4] {"11", "12", "Checking", "Savings"};
string delimitedInfoBegin = string.Join(",", infoArray, 0, 2);
string delimitedInfoEnd = string.Join(",", infoArray, 2, 2);
string[] delimitedInfoTotal = new string[2] {delimitedInfoBegin,
delimitedInfoEnd};
string delimitedInfoFinal = string.Join(":", delimitedInfoTotal);
Console.WriteLine(delimitedInfoFinal);
produces the following delimited file:
11,12:Checking,Savings
See Also
See the "String.Join Method" topic
in the MSDN documentation.
|