C#:List

.NET Array Dictionary List String 2D Async DataTable Dates DateTime Enum File For Foreach Format IEnumerable If IndexOf Lambda Parse Path Process Property Regex Replace Row Sort Split Static StringBuilder Substring Switch Tuple Window

Convert List, string. A List can be converted to a string. This is possible with the ToArray method on the List type. We can also convert a string into a List.Conversions
The StringBuilder type helps with certain conversions, which are done with loops. When using StringBuilder, we must be careful with a trailing delimiter.
First example. We use the string.Join method to combine a List of strings into one string. The output can be used as a CSV record. On new .NET Framework versions, ToArray is not required.

However: In previous versions, we had to call ToArray on a List before using Join. In older programs this is still required.

List
Based on: .NET 4

C# program that converts List

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
	List<string> dogs = new List<string>();
	dogs.Add("Aigi"); // Add string 1
	dogs.Add("Spitz"); // 2
	dogs.Add("Mastiff"); // 3
	dogs.Add("Finnish Spitz"); // 4
	dogs.Add("Briard"); // 5

	string dogCsv = string.Join(",", dogs.ToArray());
	Console.WriteLine(dogCsv);
    }
}

Output

Aigi,Spitz,Mastiff,Finnish Spitz,Briard
Example 2. Here we use the StringBuilder class to convert a List to a single string. Note that you can convert a List of any object type into a string this way.StringBuilder

Final delimiter: The example has a final delimiter on the end. This is not present in code that uses string.Join. It can be inconvenient.

TrimEnd: Sometimes, it is good to remove the end delimiter with TrimEnd. Other times it is best left alone.

TrimEnd, TrimStart
C# program that uses List and StringBuilder

using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main()
    {
	List<string> cats = new List<string>(); // Create new list of strings
	cats.Add("Devon Rex"); // Add string 1
	cats.Add("Manx"); // 2
	cats.Add("Munchkin"); // 3
	cats.Add("American Curl"); // 4
	cats.Add("German Rex"); // 5

	StringBuilder builder = new StringBuilder();
	foreach (string cat in cats) // Loop through all strings
	{
	    builder.Append(cat).Append("|"); // Append string to StringBuilder
	}
	string result = builder.ToString(); // Get string from StringBuilder
	Console.WriteLine(result);
    }
}

Output

Devon Rex|Manx|Munchkin|American Curl|German Rex|
Example 3. Here we convert a List of ints into a single string. The StringBuilder's Append method receives a variety of types. We can simply pass it the int.

And: Append() will handle the int on its own. It will convert it to a string and append it.

Performance: StringBuilder is fast for most programs. More speed could be acquired by using a char[] and then converting to a string.

Char Array
C# program that converts List types

using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main()
    {
	List<int> safePrimes = new List<int>(); // Create list of ints
	safePrimes.Add(5); // Element 1
	safePrimes.Add(7); // Element 2
	safePrimes.Add(11); // Element 3
	safePrimes.Add(23); // Element 4

	StringBuilder builder = new StringBuilder();
	foreach (int safePrime in safePrimes)
	{
	    // Append each int to the StringBuilder overload.
	    builder.Append(safePrime).Append(" ");
	}
	string result = builder.ToString();
	Console.WriteLine(result);
    }
}

Output

5 7 11 23
Example 4. Finally, we get a List of strings from a string in CSV format. This requires the Split method. If you require per-item conversion, loop over the string array returned by Split.
C# program that converts string to List

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
	string csv = "one,two,three"; // The input string
	string[] parts = csv.Split(','); // Call Split method
	List<string> list = new List<string>(parts); // Use List constructor
	foreach (string item in list)
	{
	    Console.WriteLine(item);
	}
    }
}

Output

one
two
three
A summary. We converted Lists and strings using the string.Join methods and the StringBuilder approach. The List is easily concatenated and stored in a database or file with these methods.Join