convert (list)

  • Thread starter Thread starter csharpula csharp
  • Start date Start date
C

csharpula csharp

Hello,
I am looking for a way to convert list<string> to string (one string
conainig all list members).
How can I do it in an elegant way ? (I mean without foreach and
appendind strings)
Thank u!
 
csharpula said:
Hello,
I am looking for a way to convert list<string> to string (one string
conainig all list members).
How can I do it in an elegant way ? (I mean without foreach and
appendind strings)
Thank u!

String s = String.Join(Environment.NewLine, list.ToArray());
 
Note that if you have an array (not a list), then string.Join() is
useful - but it isn't realy worth doing .ToArray() just to use
string.Join().

With a List<string>, StringBuilder is the way to go; this is perhaps
something that befits an "extension" method in C# 3 - the following
works in VS2008, for example:

// usage
static void Main()
{
var items = new List<string> {"abc", "def", "ghi"};
string csv = items.Concat(",");
}

// (in some utility library somewhere)
public static string Concat(this IEnumerable<string> items,
string separator)
{
if (items == null) throw new
ArgumentNullException("items");
StringBuilder sb = new StringBuilder();
foreach (string item in items)
{
if (sb.Length > 0) sb.Append(separator);
sb.Append(item);
}
return sb.ToString();
}
 
Back
Top