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.



C# Cookbook
C# 3.0 Cookbook
ISBN: 059651610X
EAN: 2147483647
Year: 2003
Pages: 315

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net