Click here to Skip to main content
15,867,756 members
Articles / General Programming / String
Tip/Trick

String concatenation using LINQ to create a CSV/PSV string

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
26 Jun 2011CPOL 42.6K   1   7
A tip to concatenate a set of strings using comma/pipe

Consider you have a set of string names: Chin, Rahul, and John. And you would like to build a comma separated string from the collection. We can do this using the Aggregate extension in LINQ as follows:


C#
IEnumerable<string> sList = 
  new List<string> {"Chin", "Rahul", "John"};
var commaSeparated = sList.Aggregate((x, y) => x + "," + y);
var pipeSeparated = sList.Aggregate((x, y) => x + "|" + y);

Here is the expected output:


Chin,Rahul,John
Chin|Rahul|John

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Comments and Discussions

 
GeneralI think this will be slower compared to the string.Join meth... Pin
RakeshMeena26-Jun-11 19:18
RakeshMeena26-Jun-11 19:18 
GeneralWhat is the performance difference between that and Join(sLi... Pin
dgauerke26-Jun-11 10:04
dgauerke26-Jun-11 10:04 
GeneralWill it not be slow enough to go this way?! Pin
Ravi Sant26-Jun-11 8:37
Ravi Sant26-Jun-11 8:37 
GeneralYou need to think about escaping as well as (pointed out alr... Pin
Henry.Ayoola23-Jun-11 21:34
Henry.Ayoola23-Jun-11 21:34 
GeneralThink there are syntax errors in the code. list.Aggregate sh... Pin
George Swan23-Jun-11 20:16
mveGeorge Swan23-Jun-11 20:16 
GeneralRe: a type mistake. thanks for pointing out. Pin
JP_Rocks26-Jun-11 8:35
JP_Rocks26-Jun-11 8:35 
GeneralWould work OK for short lists. Would probably go with a Stri... Pin
AspDotNetDev23-Jun-11 5:16
protectorAspDotNetDev23-Jun-11 5:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.