如何将List<string>转化为string_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 如何将List<string>转化为string

如何将List<string>转化为string

 2016/7/8 5:31:07  快乐地编程  程序员俱乐部  我要评论(0)
  • 摘要:ConvertList,string.AListcanbeconvertedtoastring.ThisispossiblewiththeToArraymethodontheListtype.WecanalsoconvertastringintoaList.ConversionsTheStringBuildertypehelpswithcertainconversions,whicharedonewithloops.WhenusingStringBuilder
  • 标签:list

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.

发表评论
用户名: 匿名